我有一張名爲BankHoliday
的表,其中包含一個Date
字段以及Id
字段..目前包含今年和明年的Bank Holidays的所有日期。SQL Server - Insert with multiple sub queries(3 tables)
我也有一個表叫員工含有StaffID
,StaffName
,Active
現在使用SQL我試圖寫一個INSERT語句到表名爲Calendar
在這些銀行假日日期插入。此表包含CalendarDate
,CalendarID
和StaffID
,
的StaffID
是我的問題是...
問題
我怎麼可以在SQL Server寫的INSERT語句在那裏將獲取一個Active
工作人員名單隨同每個銀行假日Date
,然後INSERT他們到Calendar
表?
示例數據將返回:
CalendarID CalendarDate StaffID
1 31/08/2015 1
2 31/08/2015 2
3 31/08/2015 3
4 31/08/2015 4
5 31/08/2015 5
6 25/12/2015 1
7 25/12/2015 2
8 25/12/2015 3
9 25/12/2015 4
10 25/12/2015 5
因此,爲了闡明上述CalendarDate
將包含當前不在該表中BankHoliday Date
s的列表(WHERE NOT EXISITS
)
的StaffID
被檢索來自Staff
表,其中列表僅包含Active
成員
我的幫助 – Crezzer7
完善三江源現在試試這個,三江源,我將考慮交叉連接,從未在此之前使用,但看起來非常有用 – Crezzer7
交叉連接是非常罕見使用,但在這種情況下效果很好! – StoicFnord