SQL erweitert

johannes.kutsam.uni-linz, 26. April 2010, 22:20

Neben den Basisfunktion von SQL die im Kurs vorgestellt werden, haben Microsoft und Oracle jeweils hoch spezialisierte Erweiterungen entwickelt.

 

 

 

In diesem Artikel möchte ich kurz auf die Pivotfunktionen in MS SQL eingehen. Die Informationen stammen weitestgehend aus einem Artikel von Microsoft.

 

 

Mit Pivot werden die eindeutigen Werte einer Spalte selbst zu Spaltenüberschriften. In dem so 2dimensional aufgespannten Raum können nun Mengenoperationen über eine Ausprägung gemacht werden.

 

 

 

 

zB: Die Originaltabelle lautet:

 

 

DaysToManufacture           AverageCost
0      5.0885
1           223.88
2            359.1082
4    949.4105

 

 

 Die tansformierte Tabelle lautet:

 

Cost_Sorted_By_Production_Days    0         1         2           3       4       

AverageCost                       5.0885    223.88    359.1082    NULL    949.4105

 

 

 

und das dazu gehörende SQL Statement lautet:

 

SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days, [0], [1], [2], [3], [4]FROM(SELECT DaysToManufacture, StandardCost     FROM Production.Product) AS SourceTablePIVOT(AVG(StandardCost)FOR DaysToManufacture IN ([0], [1], [2], [3], [4])) AS PivotTable;

 

 

 Vorteile

Erfahrende Datenbankadministratoren können so ohne den Umweg über Excel zu gehen, Auswertungen direkt aus dem SQL Server heraus vornehmen.

 

Die Gruppierungsfunktionen sind auf MSDN abrufbar und von der Version des SQL Servers abhängig.

 

Für die Version 2008 sind die verfügbaren Funktionen:

 

AVG

 

MIN

 

CHECKSUM_AGG

 

SUM

 

COUNT

 

STDEV

 

COUNT_BIG

 

STDEVP

 

GROUPING

 

VAR

 

MAX

 

VARP

 

 

Das SQL Management Studio von Microsoft ist kostenlos verfügbar und bietet einem Administrator ein brauchbares Werkzeug um seine Abfragen zu entwickeln.

 






0 comments :: Kommentieren