我有一個存儲員工聚集在datetime列的樞軸
登錄信息的表 的登錄表樣本數據
EmpID Status [Time]
100 SignIn 2013-03-07 11:41:44.473
101 SignIn 2013-03-07 10:41:44.473
100 SignOut 2013-03-07 12:41:44.473
101 SignOut 2013-03-07 11:41:44.473
101 SignIn 2013-03-08 11:41:44.473
我想要的結果是
EmpID SignIn SignOut
100 2013-03-07 11:41:44.473 2013-03-07 12:41:44.473
101 2013-03-07 10:41:44.473 2013-03-07 11:41:44.473
101 2013-03-08 11:41:44.473 NULL
我試過使用PIVOT
Select EmpID,[SignIn],[SignOut]
from
(Select EmpId,status,LoginTime from Login)p
pivot
(
min(Logintime)
For status in ([SignIn],[SignOut])
)pvt
但上面的查詢省去了最後一排的Employee
101
有SignIn
時間,但no SignOut
值
SQLFiddle生成表數據
感謝您提供不同的解決方案! – praveen 2013-03-07 08:26:28
不客氣,我認爲這可能是很好的覆蓋一些額外的情況,所以我添加了第二和第三個查詢。 – 2013-03-07 08:29:32