Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Nach Woche zusammenfassen, auch für leere Zeilen

Die Where-Klausel WHERE (sales.transDate BETWEEN @fromDate AND @toDate) entfernt alle Wochen ohne Verkäufe. Wahrscheinlich müssen Sie eine Unterabfrage durchführen, um die Transaktionen abzurufen, und diese dann mit Ihrer Wochentabelle verknüpfen.

SELECT Weeks.WeekNum, SUM(sales.quantity) AS sales
FROM Weeks LEFT OUTER JOIN 
 (
    SELECT *
    FROM sales 
    WHERE (sales.transDate BETWEEN @fromDate AND @toDate)
 ) sales
    ON Weeks.WeekNum = DATEPART(week, sales.transDate)
GROUP BY Weeks.WeekNum