我在sql數據庫[dbo]中有一個表,[ClockInClockOut]有3列:[UserId],ClockInClockOutTypeId],[CreatedDate]。我需要表現出像如何在sql中使用union?
UserName CreatedDate TimeIn TimeOut
abc 12/31/2013 13:19:51 13:22:37
xyz 1/31/2013 14:19:51 15:19:51
數據我這樣做在SQL:
select u.[UserName],
CONVERT(VARCHAR(20), c.[CreatedDate], 101) as [Date],
CASE WHEN c.[ClockInClockOutTypeId]=1 and THEN CONVERT(VARCHAR(20), c.[CreatedDate], 108) ELSE null END as InTime,
CASE WHEN c.[ClockInClockOutTypeId]=2 THEN CONVERT(VARCHAR(20), c.[CreatedDate], 108) ELSE null END as OutTime
from [ClockInClockOut] as c
inner join [UserProfile] as u on c.UserId = u.[UserId]
而且我得到這個結果:
UserName CreatedDate TimeIn TimeOut
abc 12/31/2013 13:19:51 null
abc 12/31/2013 null 14:19:51
第1行第3列時間沒問題,但我需要第四列的時間而不是第四列的第二行。
你有一個名爲'ClockInClockOut'的未知數據庫(其名稱無關緊要)。讓你的術語直白;如果您將表格稱爲數據庫,您會迷惑自己和每個想要尋求幫助的人。 –