我有一種情況,員工有時間和超時,但他們被保存到一個類型爲[in = 1,out = 2],我需要使用Time-In,Time-Out標題以單行形式提取單個員工時間(in-out)。如何從SQlLSERVER中的多行子集構建單行
下面是桌子,我有爲例,
CREATE TABLE #Employee
(
empid int,
name varchar(20),
age int
)
CREATE TABLE #TIMEINOUT
(
id int,
empid int,
timeinout datetime,
[type] tinyint
)
INSERT INTO #Employee values(1,'Benny',35)
INSERT INTO #Employee values(2,'Algo',32)
INSERT INTO #TIMEINOUT VALUES(1,1,'2017-03-08 06:00:00 AM',1) -- (Type 1 = IN , 2 = Out)
INSERT INTO #TIMEINOUT VALUES(2,1,'2017-03-08 05:00:00 PM',2) -- (Type 1 = IN , 2 = Out)
INSERT INTO #TIMEINOUT VALUES(3,2,'2017-03-08 07:00:00 AM',1) -- (Type 1 = IN , 2 = Out)
INSERT INTO #TIMEINOUT VALUES(4,2,'2017-03-08 09:00:00 PM',2) -- (Type 1 = IN , 2 = Out)
SELECT * FROM #Employee INNER JOIN #TIMEINOUT ON #Employee.empid = #TIMEINOUT.empid
Select #Employee.empid,#Employee.name,#Employee.age,GETDATE() as TimeIN,GETDATE() as TimeOUT from #Employee
DROP TABLE #Employee
DROP TABLE #TIMEINOUT
任何人可以幫助簡化查詢?
預期的輸出應該是 – Chanukya
@ Chanukya..I已編輯並選擇了預期結果 – DareDevil
您需要通過empid和日期來做到這一點? –