Nwlapcug.com


Come creare una tabella Pivot in SQL

Come creare una tabella Pivot in SQL


Tabelle pivot sono strumenti potenti in SQL (Structured Query Language) che consentono di creare una tabella o una Croce-scheda simile a un foglio di calcolo Excel dal contenuto di un database. Esso doesn & rsquo; t importa ciò che è 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. Sarà anche necessario sapere come creare una query nel database particolare.

Istruzioni

1

Aprire la tabella che si desidera creare la tabella pivot in e senti presso i campi dati. Determinare i campi desiderati nella tabella pivot e calcolo che si desidera eseguire. Forse è una tabella che tiene traccia di commissioni di vendita presso varie agenzie che rappresentano il lavoro e si desidera visualizzare le vendite mensili di ciascuna agenzia. In questo esempio, creare una riga per ogni agenzia e una colonna per ogni mese. Utilizzare la funzione di formato SQL per formattare i dati in modo che si legge chiaramente nella tabella.

2

Aprire la finestra di query SQL nel vostro software di database e immettere l'istruzione SQL di base per creare tabelle pivot. È possibile utilizzare la sintassi standard di "tablename.fieldname", ma poiché questo sarà su una singola tabella, è possibile utilizzare solo i nomi dei campi. Per maggiore chiarezza, parole chiave saranno in lettere maiuscole e i nomi di tabella e il campo sarà in [parentesi quadre]. È possibile utilizzare questo metodo per la scrittura di query reale.

3

Digitare la query di base per iniziare:

TRASFORMARE la funzione ([campo per calcolo]) come variablename1
Selezionare [campo per riga], funzione ([campo per calcolo]) come variablename2
da [tablename]
RAGGRUPPAMENTO [campo per riga]
PERNO [campo per colonne]

"Funzione" è il calcolo da eseguire per il corpo della tabella. In questo caso, sarà "somma", come si desidera un totale delle provvigioni. Si potrebbe usare "medio" o qualsiasi altra funzione che ti dà i risultati desiderati.

4

Immettere la query come illustrato sopra, sostituendo i nomi di campo e la tabella e vedere i risultati. Potrebbe non essere quello che state cercando, ma vi darà un'idea di come funziona, e quindi è possibile ottimizzarlo utilizzando la sintassi e funzioni SQL standard. In questo caso, vogliamo formattare le commissioni in formato valuta, e vogliamo formattare il campo salesdate per visualizzare mesi l'abbreviazione di tre lettere. Ancora una volta, utilizzando l'esempio sopra citato, la query completa apparirebbe come questo:

TRASFORMARE il formato (somma ([Sales 2010]. Commissione), "valuta") AS SumOfCommission
Selezionare [vendite 2010]. Agenzia, formato (somma ([Sales 2010]. Commissione), "valuta") come [totale della Commissione]
DA [vendite 2010]
GROUP BY [vendite 2010]. Agenzia
PERNO Format([SalesDate],"mmm") In ("Jan", "Feb", "Mar", "Apr", "maggio", "Giu", "Jul", "Ago", "Set", "Oct", "Nov", "Dec");

Consigli & Avvertenze

  • Per creare una query in Access, fare clic sulla & ldquo; Query & rdquo; scheda e poi la & ldquo; Nuovo & rdquo; opzione di menu. In SQL Server, tasto destro del mouse sulla tabella, fare clic su & ldquo; Apri tabella & rdquo; e quindi fare clic su & ldquo; Query. & rdquo; Ogni database è diverso. Consultare il menu Guida in linea 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 la tabella che avete in mente. Don & rsquo; t abbiate paura di sperimentare. Si aren & rsquo; t cambiando i dati effettivi e nulla si fa in questa tipo query causerà alcun danno al database.
  • Costruire una versione come base della query come possibile e ottenere che per funzionare e salvarlo. Quindi cambiare una cosa alla volta, risparmiando ogni passo con un nuovo nome. In questo modo è possibile eseguire fino a un punto che ha funzionato facilmente e provare qualcosa di diverso.