ID Date Time Functionkey
001 23-02-2009, 08:00:00 A
001 23-02-2009, 12:00:00 A
001 23-02-2009, 13:00:00 B
001 23-02-2009, 14:00:00 B
001 23-02-2009, 16:00:00 C
001 23-02-2009, 17:00:00 C
001 23-02-2009, 19:00:00 D
001 23-02-2009, 21:00:00 D
001 24-02-2009 10:00:00 A
001 24-02-2009 18:00:00 D
001 25-02-2009 09:00:00 A
001 25-02-2009 12:00:00 B
001 25-02-2009 18:00:00 D
....,
我想獲得分鐘(時間),其中功能鍵= 'A',MAX(時間)其中功能鍵= 'B',分鐘(時間),其中功能鍵= 'C'。 MAX(次),其中功能鍵= 'd' 查詢:
SELECT
ID, Date,
CASE WHEN function = 'A' THEN min(time) END as Intime1,
CASE WHEN function = 'B' THEN max(time) END as Outtime1,
CASE WHEN function = 'C' THEN min(time) END as Intime2,
CASE WHEN function = 'D' THEN max(time) END as Outtime2
FROM dbo.table1
GROUP BY id, date, function
獲得輸出
ID Date, Intime1, Outtime1, Intime2, Outtime2
001 23-02-2009 08:00:00, null, null, null
001 23-02-2009 null, 14:00:00, null, null
001 23-02-2009 null, null, 16:00:00, null
001 23-02-2009 null, null, null, 21:00:00
...,
我需要一條線,如何使一個查詢輸出
ID Date, Intime1, Outtime1, Intime2, Outtime2
001 23-02-2009 08:00:00, 14:00:00. 16:00:00, 21:00:00
001 24-02-2009 09:00:00 null, null, 18:00:00
001 25-02-2009 09:00:00, 12:00:00, null, 18:00:00
...,
如何修改我的查詢?
任何一個可以幫助解決這個問題 – Gopal 2009-10-12 12:46:48
檢查新的編輯我的答案 – rslite 2009-10-12 13:55:15