0

现在我有一张表,可能有也可能没有特定日期的数据。但是,我想返回一个数据集,其中为其他列填充了所有日期和空白数据。我想出了另一个表,其中存储了“所有日期”,而一个视图可以帮助我完成此任务。如果有更好的方法请告诉我。

表格1

UserId    Date       Value1
1         9/2/2012   10
2         9/15/2012  5
1         9/17/2012  12
1         9/23/2012  4
2         9/25/2012  7

AllDates(记录未来 10 年的每个日期)

Date
1/1/2012
1/2/2012
1/3/2012
...
...
...
12/31/2020

我想加入这两个表以返回 9 月份的这个数据集,其中 UserId = 1:

UserId    Date       Value1
1         9/1/2012   NULL
1         9/2/2012   10
1         9/3/2012   NULL
...
...
...
1         9/16/2012   NULL
1         9/17/2012   12
1         9/18/2012   NULL
...
...
...
1         9/23/2012  4
...
...
...
1         9/29/2012  NULL
1         9/30/2012  NULL
4

1 回答 1

3
select a.Date, t.Value1
from AllDates a
left outer join table1 t on a.Date = t.Date and t.UserID = 1
where year(a.Date) = 2012 and month(a.Date) = 9    
order by a.Date
于 2012-09-28T16:31:03.430 回答