【发布时间】:2017-03-04 10:38:27
【问题描述】:
我应该使用什么连接来根据下面的虚拟表获得所需的输出
明细表
x------------------------------x
| empID | empName | date |
x------------------------------x
| 1 | emp1 | 10/01/2016 |
| 1 | emp1 | 10/03/2016 |
| 1 | emp1 | 10/04/2016 |
| 1 | emp1 | 10/05/2016 |
| 1 | emp1 | 10/06/2016 |
x------------------------------x
列表日期为 2016 年 10 月 1 日至 2016 年 10 月 15 日
x------------x
| date |
x------------x
| 10/01/2016 |
| 10/02/2016 |
| .......... |
| .......... |
| 10/15/2016 |
x------------x
我的查询所需的输出
x------------------------------x
| empID | empName | date |
x------------------------------x
| 1 | emp1 | 10/01/2016 |
| null | null | 10/02/2016 |
| 1 | emp1 | 10/03/2016 |
| 1 | emp1 | 10/04/2016 |
| 1 | emp1 | 10/05/2016 |
| 1 | emp1 | 10/06/2016 |
| null | null | 10/07/2016 |
| null | null | 10/08/2016 |
| null | null | 10/09/2016 |
| null | null | 10/10/2016 |
| null | null | 10/11/2016 |
| null | null | 10/12/2016 |
| null | null | 10/13/2016 |
| null | null | 10/14/2016 |
| null | null | 10/15/2016 |
x------------------------------x
【问题讨论】:
-
为什么
empID用于不匹配的记录? -
我忘记更改所需的输出 empID,如果日期范围列表中没有匹配的日期,则 empName 应为空
标签: sql sql-server-2008 join cross-apply outer-apply