Pregunta

He puesto mi base de datos, tales como:

Cada producto tengo tiene su propia mesa donde registra la cantidad vendida / transacción # (así columna 1 es "TransactionID", columna 2 es "cantidad")

ex) p-Überrascaespaldas (donde p es indicativo de "producto")

También hay mesas para cada año que mantienen registros de cada transacción que tuvo que pasar. Cada una de estas tablas posee las siguientes columnas: "tiempo" "fecha" "transactionId",,, "pt_CA", "pt_DB", "pt_VC", "pt_MC", "pt_CH", "pt_AM"

ex) las ventas del 2008, las ventas-2009, etc., etc.

Me gustaría ser capaz de hacer referencia a una sola tabla que contiene todos los registros de cada año sin tener que cambiar el SQL para la tabla para incluir un nuevo año.

Así, por ejemplo, me gustaría consultar todas las transacciones para "p-Überrascaespaldas", yo no quiero tener que escribir

SELECT sales-2008.date, sales-2009.date 
  FROM sales-2008, sales-2009 
 WHERE sales-2008.transactionID = p-backScratcher.transactionID 
    OR sales-2009.transactionID = p-backScratcher.transactionID

... sino más bien:

SELECT sales.date 
  FROM sales 
 WHERE sales.transactionID = p-backScratcher.transactionID
¿Fue útil?

Solución

  

Me gustaría ser capaz de hacer referencia a una sola tabla que contiene todos los registros de cada año sin tener que cambiar el SQL para la tabla para incluir un nuevo año.

Esto es por qué no se debe utilizar una tabla para cada producto y un cuadro por año.

Lo que necesita es una tabla "Producto" y una mesa de "transacción".

Otros consejos

En SQL, como estados de respuesta de Kyle, se puede crear un Ver , que es una especie de mesa virtual, pero no te recomiendo que se obtiene un libro, o Google, diseño de base de datos relacional , antes de comprometerse a una estructura de base de datos.

Lo que usted está buscando se llama una "vista" que prácticamente es una declaración almacenado que es una lista de resultados con el formato correcto. Se puede consultar directamente como es una mesa.

No está seguro de lo grande que este proyecto es o cuáles son sus requisitos específicos son (por ejemplo, si tiene código asociado a él) pero es posible que desee ver en la migración de los datos a MS SQL (o MySQL, etc). SQL Server tiene una edición de escritorio, que es gratuita, pero sólo es compatible con un conjunto limitado de características (vistas se incluyen en eso).

MySQL, PostGreSQL, etc admite las características que usted está buscando, incluyendo tablas heredadas en PostGreSQL (no es exactamente lo que necesita, pero similar).

No he trabajado con acceso por un tiempo, y no estoy seguro de que apoyará las características que usted está buscando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top