sql >> Database teknologi >  >> RDS >> Sqlserver

Opsummer efter uge, selv for tomme rækker

Where-sætningen WHERE (sales.transDate BETWEEN @fromDate AND @toDate) vil fjerne eventuelle uger uden salg. Du bliver sandsynligvis nødt til at lave en underforespørgsel for at trække transaktionerne og derefter tilføje den til din ugetabel.

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. Er der MySQL.. INSERT ... PÅ DUPLICATE KEY SELECT?

  2. Parse HTML-tabel med Oracle

  3. Håndhævelse af unik/primær nøgle - drop index

  4. Oracle:DDL og tilbagerulning af transaktioner