Ich lerne SQL und ich möchte eine Abfrage erstellen, die neue Spalten, die aus Werten aus einer Tabelle gemacht werden. Ich habe eine Spalte mit dem Namen transactions
und es gibt mehrere Transaktionen von der gleichen Firma. Tabelle sieht wie folgt aus:Konvertieren von Zeilen in Spalten mit Pivotieren
Id Name Payd
1 John 5.00
2 Adam 5.00
3 John 10.00
4 John 10.00
5 Adam 15.00
ich, so etwas machen möchten:
Id Name 5.00 10.00 15.00 Sum
1 John 5.00 20.00 0 25.00
2 Adam 5.00 0 15.00 20.00
ich erwäge es mit PIVOT
Funktion zu tun, aber ich habe Probleme bei der Umsetzung. Mein Code sieht in etwa wie folgt aus:
(select emplployer, CAST (4.00 as decimal(10,0)) as [4.00],
CAST (5.00 as decimal(10,0)) as [5.00],
CAST (10.00 as decimal(10,0)) as [10.00],
CAST (18.00 as decimal(10,0)) as [18.00],
CAST (20.00 as decimal(10,0)) as [20.00]
from (select Name, cast(Payd as decimal(10,0)) as summ from employee) q1
pivot
(
sum(summ) for employer in ([4.00], [5.00], [10.00], [18.00], [20.00])
)pvt;
Das ist eine schöne Erklärung war, vielen Dank! – vidooo