Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Software >> Database Software >> Content
Wat is een draaitabel in SQL ?
In SQL , een draaitabel is een set gegevens die wordt omgevormd van een verzameling van afzonderlijke rijen tot een bundeling van columns . In relationele databases , zoals Microsoft SQL Server , Oracle en MySQL , kunnen draaitabellen worden gebruikt om uitgebreide gegevens te vereenvoudigen om het gemakkelijker maken om te lezen en te begrijpen . Om een draaitabel te maken , wordt een aggregaat gebruikt tegen een set van gegevens naar meerdere rijen van een kolom te verdelen in een rij met meerdere kolommen . Dit wezen draait het resultaat te stellen zijwaarts . Gegevens monster

Om een ​​draaitabel beter te begrijpen , is een voorbeeld van een aantal verkoopgegevens hier vermeld . Kopieer de volgende in Microsoft SQL Server Management Studio te proberen de voorbeelden .

Maak tafel # PivotTestTable ( CustName varchar ( 8 ) , ITEM_TYPE varchar ( 8 ) , Item_Amount numeriek ( 6,2 ) ) op

invoegen in # PivotTestTableselect ' Jason ' , ' Computer ' , 435.34unionselect ' Jason ' , ' Software ' , 243.54unionselect ' Jason ' , ' Monitor ' , 158.23unionselect ' Alison ' , ' Computer ' , 345.89unionselect ' Alison ' , ' Software ' , 78.78unionselect ' Alison ' , ' Monitor ' , 123,45
Vanaf UnPivoted gegevens

Wanneer de tijdelijke tabel , # PivotTestTable , wordt opgevraagd , is het resultaat het volgende .

CustName ITEM_TYPE Item_Amount -------- -------------------- Alison Computer 345.89Alison Monitor 123.45Alison Software 78.78Jason computer 435.34Jason Monitor 158.23Jason Software 243,54

Zoals u kunt zien , het resultaat set toont twee klanten , Alison en Jason , die drie verschillende soorten objecten hebben gekocht . Er zijn zes rijen gegevens voor twee klanten . Als we wilden de gegevens in een enkele rij per klant zien , zouden we een draaitabel gebruiken om het gewenste resultaat te bereiken .
Pivot door PIVOT functie

Microsoft SQL Server heeft een PIVOT functie ingebouwd in SQL Server . Hier is een voorbeeld met de # PivotTestTable gegevens .

SELECTCustName
als Total_Sales_By_Cust , Computer , Monitor , SoftwareFROM ( SELECTCustName , ITEM_TYPE , Item_AmountFROM # PivotTestTable ) aPIVOT ( sum ( Item_Amount ) VOOR ITEM_TYPE in ( computer, monitor , software ) ) b

Deze vraag zal de oorspronkelijke zes rijen terug gedraaid in twee rijen met aparte kolommen voor elk type item verkocht . Het resultaat set gegenereerd uit deze query is hier :

Total_Sales_By_Cust Computer Monitor Software
------------------- ----------- --------------- Alison 345,89 123,45 435,34 158,23 243,54 78.78Jason
Pivot door geaggregeerde Case Verklaring

door het gebruik van een aggregaat functie ( sUM , AVG , mIN , MAX ) rond een case statement in een SQL-query , zijn we in staat om hetzelfde resultaat als de PIVOT functie met minder werk te bereiken .

SELECTCustName
als Total_Sales_By_Cust , sum ( case ITEM_TYPE wanneer ' Computer ' en vervolgens Item_Amount eind ) als Computer , sum ( case ITEM_TYPE wanneer ' Monitor' dan Item_Amount eind ) als Monitor , sum ( case ITEM_TYPE bij ' Software ' dan Item_Amount eind ) als SoftwareFROM # PivotTestTableGROUP DOOR CustName

query exact hetzelfde resultaat set van het vorige voorbeeld terug te keren en is slechts een voorkeur voor welk type scharnier aan .
veelgemaakte fout te gebruiken met pivot Tables

een gemeenschappelijke vergissing om een draaitabel te maken is het creëren van een join terug op de bron tafel . Dit levert resultaten onbetrouwbaar en moeten worden vermeden . Dit voorbeeld is strikt een voorbeeld van wat niet te doen . Het resultaat in deze steekproef zal hetzelfde zijn, maar dit monster niet zal werken in alle gevallen

SELECTp1.CustName
, p1.Item_Amount als Computer , p2.Item_Amount als monitor , p3.Item_Amount als SoftwareFROM # PivotTestTable p1INNER . JOIN # PivotTestTable p2on p1.CustName = p2.CustNameand p2.Item_Type = ' Monitor'INNER WORD # PivotTestTable p3on p1.CustName = p3.CustNameand p3.Item_Type = ' Software'WHERE p1.Item_Type = ' Computer '
< br >

Previous: Next:
  Database Software
·Hoe maak je een Oracle 10g Dat…
·Hoe Access Queries leren 
·Hoe kan ik een handleiding Ora…
·Toegang tot een Drop -Down Lis…
·Hoe te importeren & exporteren…
·Hoe te wijzigen van een tabel …
·Tabel Relaties in Access 2007 
·Wat is Filemaker Pro 6 ? 
·Hoe een OpenOffice Database Cr…
  Related Articles
Hoe maak je een Tilde gebruiken in een W…
Hoe kan ik een Umlaut gebruiken in een W…
Hoe maak je een Holiday Nieuwsbrief op u…
Hoe maak je een viervoudige Wenskaart ma…
Hoe maak je een Tent - Fold Wenskaart Ma…
Hoe kan ik een document Zoom in Word 200…
Hoe je tekst rond een afbeelding in Word…
Hoe maak je een achtergrondafbeelding to…
Hoe maak je een complex tabel in Word 20…
  Software Articles
·Hoe te PFS First Choice bestanden conver…
·Hoe te Highlight & kleur Een keuzelijst …
·Hoe maak je een selectie Flip in GIMP 
·Hoe maak je een tijdschrift maken met sj…
·Hoe naar MOV converteren naar WMV met Fr…
·Hoe te kopiëren & plakken Met Ctrl 
·Wat is de extensie Qfl ? 
·Hoe een PDF invoegen in een PDF 
·Hoe je alle van de kolommen in hetzelfde…
Copyright © Computer Kennis http://www.nldit.com