sql >> Database >  >> RDS >> Sqlserver

Vat per week samen, zelfs voor lege rijen

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


  1. Mysql...Onmogelijke zoekopdracht?

  2. tomcat + mysql + war met behulp van docker-compose.yml

  3. root-uitvoering van de PostgreSQL-server is niet toegestaan

  4. Waarom evalueert NVL altijd de 2e parameter?