【发布时间】:2015-10-30 18:14:36
【问题描述】:
我的以下查询给出了图 1 中所示的输出。我想更改它,以便它给出图 2 中的输出。我想显示每周(即使值为 0)这是查询。请帮忙。
SELECT @MaxDate = @MaxDate
,@MinDate = dateadd(week, (@LastXWeeks + 1), @MaxDate);
WITH AllDates
AS (
SELECT @MinDate AS xDate
UNION ALL
SELECT Dateadd(day, 1, xDate)
FROM AllDates AS ad
WHERE ad.xDate < @MaxDate
)
SELECT 'playing' AS activity
,ad.xDate
,Isnull(t.TimePerDay, 0) AS TimePerDay
FROM AllDates AS ad WITH (NOLOCK)
LEFT JOIN @test AS t ON ad.xDate = t.DATE
【问题讨论】:
-
我们可以把
WHERE TimePerDay != 0放在这里 -
否,因为它显示游戏的总和,如果没有玩游戏,则为 0。我会更新图片。
标签: sql sql-server sql-server-2008 sql-server-2005 sql-server-2008-r2