【发布时间】:2016-06-26 14:20:00
【问题描述】:
我有一个名为 Employee 的表名。即使缺少任何一天,我也想获得所有日期。
表:
create table Employee(id int, dateCheck datetime)
insert into Employee values(1, '2016/01/01')
insert into Employee values(2, '2016/01/02')
insert into Employee values(3, '2016/01/05')
insert into Employee values(4, '2016/01/07')
例如:
+-------------------+--------------------------+
|Name | dateCheck |
+-------------------+--------------------------+
| 1 | 2016-01-01 00:00:00.000 |
| 2 | 2016-01-02 00:00:00.000 |
| 3 | 2016-01-05 00:00:00.000 |
| 4 | 2016-01-07 00:00:00.000 |
+-------------------+--------------------------+
我需要如下输出:
+-------------------+--------------------------+
|Name | dateCheck |
+-------------------+--------------------------+
| 1 | 2016-01-01 00:00:00.000 |
| 2 | 2016-01-02 00:00:00.000 |
| 0 | 2016-01-03 00:00:00.000 |
| 0 | 2016-01-04 00:00:00.000 |
| 3 | 2016-01-05 00:00:00.000 |
| 0 | 2016-01-06 00:00:00.000 |
| 4 | 2016-01-07 00:00:00.000 |
+-------------------+--------------------------+
请帮我解决这个问题。
【问题讨论】:
-
最好创建一个日历表并将其与您的表交叉连接。
标签: sql-server