私はSQLServer2008で作業しています。週単位でデータを集約するストアドプロシージャを作成しています。
集計のコードは
ALTER PROCEDURE [dbo].[ups_URLBatchStats]
(@startDate datetime, @endDate datetime,@source varchar(8))
AS BEGIN
SELECT
DATEADD(wk, DATEDIFF(wk, 0, ScheduleDate), 6) AS [Week Commencing],
SUM(Unresolved) AS Unresolved,
SUM(Resolved) AS Resolved,
SUM(TurkSpend) AS TurkSpend
FROM
dbo.V_URLBatchStats
WHERE
ScheduleDate BETWEEN @startDate AND @endDate
AND Source = ISNULL(@source, Source)
GROUP BY
DATEADD(wk, DATEDIFF(wk, 0, ScheduleDate), 6)
ORDER BY
DATEADD(wk, DATEDIFF(wk, 0, ScheduleDate), 6)
END
表示すると正しい結果が得られますが、どの週のデータもない場合は、列に「0」の値を指定して表示する必要があります。
では、これらのスキップされた毎週の行をどのように処理できますか?
前もって感謝します。