我有3個表格。第一個是人員名單:針對特定時間段內可用人員的Sql SELECT
表Personnel
Id_personnel Name
1 John
2 Alice
3 Tom
4 Charles
5 Ben
二是與醫療休假表:
表Medical
Id_personnel Start_date End_date
3 2012-08-02 2012-08-05
2 2012-08-02 2012-08-15
4 2012-10-04 2012-10-06
2 2012-10-02 2012-10-15
2 2012-09-20 2012-09-21
三是節日休假表:
表Holiday
Id_personnel Start_date End_date
3 2012-08-02 2012-08-05
2 2012-02-02 2012-02-15
5 2012-10-01 2012-10-05
我有兩個事件日期:Symposium_start_date
和Symposium_end_date
(作爲變量),我想選擇所有Personnel.Id_personnel
和Personnel.Name
可用於研討會(未休病假或假期)。
在我的例子,如果Symposium_start_date = 2012-10-02
和Symposium_end_date = 2012-10-06
其結果必然是:
Id_personnel Name
1 John
3 Tom
(你可以看到愛麗絲和查爾斯都在休病假和Ben度假)
謝謝!
對於此類查詢,您必須指定數據庫。 Oracle和MS SQL Server等處理日期重疊。 –
對不起,對!它是MS SQL。 –