Come creare una tabella pivot in SQL

December 28

Come creare una tabella pivot in SQL


Le tabelle pivot sono strumenti potenti in SQL (Structured Query Language) che consentono di creare un tavolo o incrociato simile a un foglio di calcolo Excel dai contenuti di un database. E 'doesn & rsquo; t importa quale sia il database è - SQL Server, MS Access, Paradox, ecc .-- fintanto che supporta SQL.

È necessario conoscere il nome della tabella che si desidera creare la tabella pivot con e i nomi dei campi che si desidera nella tabella pivot. Avrete anche bisogno di sapere come creare una query nel database particolare.

istruzione

1 Aprire la tabella che si desidera creare la tabella pivot e guardare i dati e campi. Determinare i campi che desidera nella tabella pivot e ciò che il calcolo che si desidera eseguire. Forse è una tabella che tiene traccia di commissioni di vendita in varie agenzie che rappresentano il vostro lavoro e si desidera visualizzare le vendite mensili di ogni agenzia. Per questo esempio, creare una riga per ogni agenzia e una colonna per ogni mese. Utilizzare la funzione di formattazione di SQL per formattare i dati in modo che si legge chiaramente nella tabella.

2 Aprire la finestra di query SQL nel software di database e inserire l'istruzione SQL di base per creare tabelle pivot. È possibile utilizzare la sintassi standard di "nome_tabella.nome_campo", ma dal momento che questo sarà su una singola tabella, è possibile utilizzare solo i nomi dei campi. Per chiarezza, le parole chiave saranno in maiuscolo ei nomi delle tabelle e dei campi saranno in [parentesi quadre]. È possibile utilizzare questo metodo per scrivere la vera domanda.

3 Digitare la query di base per iniziare:

TRASFORMARE funzione ([campo per il calcolo]) come variablename1
SELECT [campo di fila], la funzione ([campo per il calcolo]) come variablename2
da [tablename]
GROUP BY [campo per riga]
PIVOT [campo per le colonne]

"Function" è il calcolo da eseguire per il corpo della tabella. In questo caso, sarà "sum", come si desidera un totale di commissioni. Si potrebbe usare "media" o qualsiasi altra funzione che ti dà i risultati desiderati.

4 Inserire la query come mostrato sopra, sostituendo i nomi dei campi e tavola, e vedere i risultati. Esso non può essere quello che stai cercando, ma vi darà un'idea di come funziona, e poi si può mettere a punto utilizzando funzioni SQL standard e sintassi. In questo caso, vogliamo formattare le commissioni nel formato di valuta, e vogliamo formattare il campo salesdate per visualizzare mesi nel abbreviazione di tre lettere. Anche in questo caso, utilizzando l'esempio sopra citato, la domanda completa sarebbe simile a questa:

TRASFORMARE formato (Sum ([Vendite 2010] .Commission), "valuta") AS SumOfCommission
SELECT [vendite 2010] .Agency, formato (Sum ([Vendite 2010] .Commission), "valuta") AS [totale di Commissione]
DA [vendite 2010]
GROUP BY [Vendite 2010] .Agency
PIVOT Format ([SalesDate], "mmm") In ( "Jan", "febbraio", "Mar", "Aprile", "può", "Jun", "Luglio", "Aug", "Settembre", " ottobre "," Novembre "," Dec ");

Consigli e avvertenze

  • Per creare una query in Access, fare clic sul & ldquo; Query & rdquo; scheda e poi il & ldquo; Nuovo & rdquo; opzione di menu. In SQL Server, fare clic destro sul tavolo, Click & ldquo; Open Table & rdquo; e quindi fare clic su & ldquo;. Query & rdquo; Ogni database è diversa. Fare riferimento al menu Guida o la documentazione per imparare a creare una query nel database che si sta utilizzando.
  • Si può prendere un po 'di tentativi ed errori per produrre il tavolo che avete in mente. Don & rsquo; t abbiate paura di sperimentare. Si aren & rsquo; t cambiare i dati effettivi e nulla si fa in questa query tipo causerà alcun danno al database.
  • Costruire come base una versione della query il più possibile e ottenere che per lavorare e salvarlo. Poi cambiare una cosa alla volta, risparmiando ogni passo con un nuovo nome. In questo modo è possibile eseguire il backup di un punto che ha lavorato in modo semplice e provare qualcosa di diverso.

Articoli Correlati