De waar-clausule WHERE (sales.transDate BETWEEN @fromDate AND @toDate)
zal alle weken zonder verkoop verwijderen. Je zult waarschijnlijk een subquery moeten doen om de transacties op te halen en die vervolgens aan je weektabel toe te voegen.
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