sql >> Databáze >  >> RDS >> Sqlserver

Shrňte po týdnech, a to i pro prázdné řádky

Klauzule where WHERE (sales.transDate BETWEEN @fromDate AND @toDate) odstraní všechny týdny bez prodeje. Pravděpodobně budete muset provést dílčí dotaz k načtení transakcí a poté je připojit k tabulce týdnů.

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


  1. SQL Server 2008 se nemůže přihlásit s nově vytvořeným uživatelem

  2. Oracle:DDL a vrácení transakcí

  3. Aktualizace SQL s připojeními

  4. jak jsou smajlíky kódovány v databázi mysql utf-8 mb4?