Fingerübungen - MS SQL Pivot
Nach drei Jahren MS SQL und ich finde mal wieder etwas, dass ich noch nicht kenne und ich auch nicht in der Schulung hatte.
Bis vor heute, war mir nicht bewusst, dass man auch Pivot Ergebnisse in MS SQL schreiben kann.
Beispiel: Ich habe in der einen Spalte, mehrere verschiedene Themen, die ich hier Unkreativ "Sache 1" bis "Sache 3" genannt habe. Diese lassen sich am Ende so raus führen, dass am Ende daraus drei Spalten werden. Hätte ich das vorher gewusst, hätte ich viel bessere Abfragen schreiben können.
DECLARE @myTable TABLE (Dinge VARCHAR(10), Menge INT)
INSERT INTO @myTable
(
Dinge,
Menge
)
VALUES
( 'Sache 1', 10 ),
( 'Sache 1', 2 ),
( 'Sache 1', 5 ),
( 'Sache 1', 77 ),
( 'Sache 2', 10 ),
( 'Sache 2', 1 ),
( 'Sache 2', 2 ),
( 'Sache 2', 3 ),
( 'Sache 3', 10 ),
( 'Sache 3', 10 ),
( 'Sache 3', 10 )
SELECT [pvt].[Sache 1], pvt.[Sache 2], pvt.[Sache 3]
FROM @myTable t
PIVOT
(
SUM(Menge)
FOR Dinge IN([Sache 1], [Sache 2], [Sache 3])
) AS pvt
Kommentare