我有两张桌子:
PeriodId Period (Periods Table)
-------- -------
1 Week 1
2 Week 2
3 Week 3
EmpId PeriodId ApprovedDate (Worked Table)
----- -------- ------------
1 1 Null
1 2 2/28/2013
2 2 2/28/2013
我正在尝试编写一个导致以下结果的查询:
EmpId Period Worked ApprovedDate
----- -------- --------- ------------
1 Week 1 Yes Null
1 Week 2 Yes 2/28/2013
1 Week 3 No Null
2 Week 1 No Null
2 Week 2 Yes 2/28/2013
2 Week 3 No Null
这个想法是我需要每个 Emp 的 Periods 表中的每个 Period。如果 Worked 表中没有记录,则将“No”值放置在 Worked 字段中。
得到这个结果的 TSQL 是什么样子的?
(注意:如果有帮助,我还可以访问每个员工都有 EmpId 和 LastName 的 Employee 表。出于性能原因,我希望不需要这个,但如果我这样做了,那就这样吧。)