Databastabeller är strukturerade i kolumner och rader . Emellertid lämpar del uppgifter sig till omkoppling raddata som kolumndata för resonerande syften. Den pivoteringsresultatet i SQL tillåter utvecklaren att ordna rad data som kolumnfält . Till exempel , om det finns två kunder som har både besökt en butik exakt fyra gånger , och du vill jämföra hur mycket pengar som spenderas av varje kund vid varje besök , kan du implementera pivoteringsresultatet . Instruktioner
1
Skapa en tabell . För att skapa tabellen anger databasen och skriver följande : Skapa tabell besök ( pkey int ( 11 ) NOT NULL auto_increment , namn varchar ( 15 ) , num_visit int , belopp int , PRIMARY KEY ( pkey ) ) ; Detta skapar en tabell med namnet " besök " med fyra fält , en primär nyckel , " namn ", " num_visit , " och " summa . "
2
Survey bordet . För att vara säker på bordet uppfyller dina specifikationer kör en beskriver kommando enligt nedan : Beskriv besök ; En ny tabell visas visa det angivna fältet informationen . Om det inte är rätt typ : . Drop besök , och gör om steg 1
3
Fylla tabellen med data . Använd följande kod för att befolka data: Sätt in besök ( namn , num_visit , belopp ) värden ( ' M. Smith ' , 1450 ) , det här exemplet används fyra besök från varje kund så befolka resten av fälten genom att upprepa den här koden och ändring av de uppgifter som är nödvändiga. Du bör ha 8 enskilda uttalanden .
4
Kontrollera befolkade tabellen . För att göra detta skriver följande kod : SELECT * FROM besök , Detta kommer att ge dig en läste upp i tabellform av de uppgifter som anges i föregående steg . Naturligtvis kan ditt namn och kvantiteter vara annorlunda .
5
Skapa pivottabellen . Denna pivottabellen kommer att utföra de fyra enskilda besök som kolumnfält och sedan visa hur mycket som använts av varje besökare på motsvarande occasion.select namn , summan (belopp * ( 1 - abs ( sign ( num_visit - 1 ) ) ) ) som Visit1 , summan (belopp * ( 1 - abs ( sign ( num_visit - 2 )))) som Visit2 , summan (belopp * ( 1 - abs ( sign ( num_visit - 3 )))) som Visit3 , summan (belopp * ( 1 - abs ( sign ( num_visit - 4 ) ) ) ) som Visit4from kvaliteter grupp vid namn, det enda som behöver ändras från varje rad är antalet besök inom " tecken " och "som " uttalanden . Vid utförande , bör du se en tabell skriva ut med den svängbara informationen .