私は2つのテーブルを持っています:
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テーブルにもアクセスできます。パフォーマンス上の理由から、これは必要ないことを望んでいますが、必要な場合はそうしてください。)