Guten Tag! Ich arbeite an einem Diagramm, in dem ich alle Monate in einem Jahr anzeigen muss, um die Verkäufe pro Monat anzuzeigen. Bisher kann ich nur den Monat anzeigen, in dem es entsprechende Werte gibt. Hier ist meine Stored Procedure-Abfrage bisher.Alle Monate anzeigen, auch wenn die Werte NULL sind
SELECT (DATENAME (MONTH, DATEADD (MONTH, DATEPART(MONTH, ORDER_DATE), -1)))
AS MONTH_NAME,
SUM ([ORDER].NET_AMOUNT) AS TOTAL_SALES
FROM [ORDER], ORDER_DETAILS
WHERE [ORDER].ORDER_ID = ORDER_DETAILS.ORDER_ID
--AND (DATENAME (MONTH, DATEADD (MONTH, DATEPART(MONTH, ORDER_DATE), -1))) = (DATENAME (MONTH, DATEADD (MONTH, DATEPART(MONTH, @Order_month), -1)))
GROUP BY MONTH([ORDER].ORDER_DATE)
ORDER BY MONTH_NAME
Es zeigt nur 1 Monat und die Verkäufe für diesen Monat. Kann mir jemand dabei helfen? Danke im Voraus!
Wenn die fehlenden Monate nicht in Ihrem Dataset enthalten sind, müssen Sie diese Daten irgendwie einführen, möglicherweise mithilfe einer Kalendertabelle. –
Ich werde daran arbeiten. Danke mein Herr! –
Sight Umleitung ... Ihre Join-Syntax ist seit fast 30 Jahren nicht mehr aktuell. Es könnte Zeit sein, einen "moderneren" Join zu verwenden. http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx –