sql >> データベース >  >> RDS >> Sqlserver

空の行でも週単位で集計

    where 句 WHERE (sales.transDate BETWEEN @fromDate AND @toDate) 売上のない週は削除されます。おそらくサブクエリを実行してトランザクションを取得し、それを週テーブルに結合する必要があります。

    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. PostgreSQLパート2の列挙列に基づいてすべての行を合計するにはどうすればよいですか?

    2. MySQLがnull/emptyを返すかどうかを確認するにはどうすればよいですか?

    3. BOOLEANまたはTINYINTの混乱

    4. SQLServerのJSON