Ich habe eine Tabelle in SQL, die Rechnungsdaten enthält. Die einzigen 2 Spalten, die mir wichtig sind, sind Betrag und Datum. Ich habe mehrere tausend Zeilen über mehrere JahreGruppensumme Summe nach Jahr und Monat
Zum Beispiel
19.32 2017-01-01 03:28:37.787
Meine Frage wie diese jedoch
SELECT * FROM (
SELECT
YEAR(CreatedUtc) AS [Year],
MONTH(CreatedUtc) AS [Month],
DATENAME(MONTH, CreatedUtc) AS [Month Name],
SUM(InvoiceTotal) as [InvoiceTotal]
FROM [dbo].[Invoice]
GROUP BY YEAR(CreatedUtc), MONTH(CreatedUtc), DATENAME(MONTH,CreatedUtc)
) AS t
PIVOT (
SUM(InvoiceTotal)
FOR [Month Name] IN ([January],[February],[March],[April],[May],
[June],[July],[August],[September],[October],[November],
[December])) AS MNamePivot
ORDER BY 1,2
sieht, meine Ergebnisse sind in der Nähe, aber nicht genau das, was ich suche. Wie kann ich alle 12 Monate für jedes Jahr in einer einzigen Zeile bekommen?
Year Month January February March April May June July August September October November December
2013 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL 3803.15 NULL NULL
2013 11 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 4039.90 NULL
2013 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 4498.70
2014 1 27139.45 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
2014 2 NULL 28164.61 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
2014 3 NULL NULL 29185.82 NULL NULL NULL NULL NULL NULL NULL NULL NULL
2014 4 NULL NULL NULL 29933.51 NULL NULL NULL NULL NULL NULL NULL NULL
2014 5 NULL NULL NULL NULL 30470.01 NULL NULL NULL NULL NULL NULL NULL
2014 6 NULL NULL NULL NULL NULL0.82 NULL NULL NULL NULL NULL NULL
Wenn Sie nur zwei Spalten interessiert, warum wählen Sie alle? ('SELECT * FROM ...') –
Ich wollte sagen, dass mir nur die 2 Spalten aus der Rechnungstabelle wichtig sind. Entschuldigung, war nicht klar. – JCircio
@peterh danke für die Bearbeitung. Würde es lieben zu wissen, wie du das gemacht hast? – JCircio