請你看看下面的任務嗎?SQL Server特有的缺勤期
我有一個表DATA
結構如下:
CREATE TABLE DATA
(
EMPLOYEE nvarchar(50) NOT NULL,
ABSENCE_START nvarchar(50) NOT NULL,
ABSENCE_END nvarchar(50) NOT NULL
)
它包含以下數據:
insert into DATA (EMPLOYEE, ABSENCE_START, ABSENCE_END)
values ('emp01','21/06/2017','22/06/2017'),
('emp01','24/06/2017','27/06/2017'),
('emp02','22/06/2017','24/06/2017'),
('emp02','22/06/2017','27/06/2017')
正如你可以看到「emp02」員工,我們有沒有兩個時間段和其中一個(第4行)完全包含另一段缺席(第3行)。
我需要將這兩行合併爲一行(第4行)。
預期的結果將是:
EMPLOYEE ABSENCE_START ABSENSE
---------------------------------------
emp01 21/06/2017 22/06/2017
emp02 24/06/2017 27/06/2017
emp01 22/06/2017 27/06/2017
預先感謝您!
你有沒有試圖解決你的問題? –
我嘗試使用MAX和MIN聚合函數。但是這也爲'emp01'員工合併了數據。 –
您應**總是**將日期存儲爲數據類型'DATE'或'DATETIME2(n)' - ** NOT **作爲'nvarchar'! –