Domanda

Ho la mia banca dati creata in quanto tale:

Ogni prodotto che ho ha il proprio tavolo dove si registra la quantità venduta / transazione # (così colonna 1 è "transactionID", colonna 2 è "quantità")

ex) p-backscratcher (dove p è indicativo di "prodotto")

Ci sono anche tavoli per ogni anno che detengono record di ogni transazione che ha attraversato. Ognuna di queste tabelle detiene le seguenti colonne: "transactionID", "data", "tempo", "pt_CA", "pt_DB", "pt_VC", "pt_MC", "pt_CH", "pt_AM"

ex) le vendite del 2008, le vendite del 2009, ecc ecc.

Mi piacerebbe essere in grado di fare riferimento a una singola tabella che contiene tutti i record per ogni anno senza dover cambiare l'SQL per la tabella per includere un nuovo anno.

Così, per esempio, avrei voluto interrogare tutte le transazioni per "p-backscratcher", io non voglio avere a digitare le

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

... ma piuttosto:

SELECT sales.date 
  FROM sales 
 WHERE sales.transactionID = p-backScratcher.transactionID
È stato utile?

Soluzione

  

Mi piacerebbe essere in grado di fare riferimento a una singola tabella che contiene tutti i record per ogni anno senza dover cambiare l'SQL per la tabella per includere un nuovo anno.

Questo è il motivo per cui non si dovrebbe utilizzare una tabella per ogni prodotto e di una tabella per ogni anno.

Quello che vi serve è una tabella "prodotto" e un tavolo "Operazione".

Altri suggerimenti

In SQL, come risposta gli stati di Kyle, è possibile creare un Visualizza , che è una sorta di tavolo virtuale, ma vi consiglio vivamente che si ottiene un libro, o Google, progettazione di database relazionali , prima ti impegni a una struttura di database.

Quello che stai cercando è chiamato "Vista", che più o meno è una dichiarazione che è memorizzato un elenco di risultati correttamente formattati. È possibile interrogare direttamente come esso è una tabella.

Non so quanto è grande questo progetto è o che cosa i vostri requisiti specifici sono (per esempio se si dispone di codice associato con esso), ma si potrebbe voler esaminare la migrazione dei dati a MS SQL (o MySQL, ecc). SQL Server dispone di una versione desktop che è gratuito, ma supporta solo un set di funzionalità limitata (vista sono incluse in questo).

MySQL, PostGre, ecc supporta le funzionalità che stai cercando, incluse le tabelle ereditate in PostGre (non esattamente quello che ti serve, ma simile).

Non ho lavorato con accesso per un po ', e io non sono sicuro che sosterrà le caratteristiche che state cercando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top