SQL-Abfrage für die Generierung von matrix-Ausgang Abfragen von verknüpften Tabelle in SQL Server
Ich habe drei Tabellen:
Produkt
ProductID ProductName
1 Cycle
2 Scooter
3 Car
Kunden
CustomerID CustomerName
101 Ronald
102 Michelle
103 Armstrong
104 Schmidt
105 Peterson
Transaktionen
TID ProductID CustomerID TranDate Amount
10001 1 101 01-Jan-11 25000.00
10002 2 101 02-Jan-11 98547.52
10003 1 102 03-Feb-11 15000.00
10004 3 102 07-Jan-11 36571.85
10005 2 105 09-Feb-11 82658.23
10006 2 104 10-Feb-11 54000.25
10007 3 103 20-Feb-11 80115.50
10008 3 104 22-Feb-11 45000.65
Ich geschrieben habe, eine Abfrage zum gruppieren von Transaktionen wie diese:
SELECT P.ProductName AS Product,
C.CustName AS Customer,
SUM(T.Amount) AS Amount
FROM Transactions AS T
INNER JOIN Product AS P
ON T.ProductID = P.ProductID
INNER JOIN Customer AS C
ON T.CustomerID = C.CustomerID
WHERE T.TranDate BETWEEN '2011-01-01' AND '2011-03-31'
GROUP BY
P.ProductName,
C.CustName
ORDER BY
P.ProductName
gibt das Ergebnis wie dieses:
Product Customer Amount
Car Armstrong 80115.50
Car Michelle 36571.85
Car Schmidt 45000.65
Cycle Michelle 15000.00
Cycle Ronald 25000.00
Scooter Peterson 82658.23
Scooter Ronald 98547.52
Scooter Schmidt 54000.25
Ich brauche das Ergebnis der Abfrage in MATRIX-form wie diese:
Customer |------------ Amounts ---------------
Name |Car Cycle Scooter Totals
Armstrong 80115.50 0.00 0.00 80115.50
Michelle 36571.85 15000.00 0.00 51571.85
Ronald 0.00 25000.00 98547.52 123547.52
Peterson 0.00 0.00 82658.23 82658.23
Schmidt 45000.65 0.00 54000.25 99000.90
Bitte helfen Sie mir, um acheive dem obigen Ergebnis in SQL Server 2005. Über mehrere Ansichten oder sogar temporory Tabellen ist in Ordnung für mich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie SQL Server PIVOT Betreiber
Testdaten
Ausgabe