1
我在一個表中的以下數據:選擇查詢的問題
Date ID Start END Duration_S Duration_A
9/12/2011 22216 9/12/2011 12:30:00 PM 9/12/2011 2:15:00 PM 6300 NULL
9/12/2011 22216 9/12/2011 2:30:00 PM 9/12/2011 2:39:00 PM 540 NULL
9/12/2011 22216 9/12/2011 5:20:00 PM 9/12/2011 5:50:00 PM 1800 NULL
我的目標是更新Duration_A列,目前空。
我用它來獲取信息的信息是結構化的,像這樣的表:
ID Start_Time State End_Time State_Duration
22216 6/3/10 2:07:58 1 6/3/10 2:20:58 800
22216 6/3/10 2:21:58 2 6/3/10 2:25:55 52
22216 6/3/10 5:21:58 2 6/3/10 5:31:05 600
更新我Duration_A,我來總結含有某些國家(這是沒有問題的)持續時間,但問題是Start_Time和End_Time必須匹配我的第一個表的開始和結束。下面是我在做什麼:
SELECT tblB.ID, SUM(tblB.StateDuration) AS Total, tblA.Start_Time,
tblA.End_Time
FROM
tblA INNER JOIN tblB ON tblB.Id = tblA.ID
tblB.Start_Time >= tblA.Start AND
tblB.End_Time <= tblA.End
WHERE STATE IN (1, 2, 3, 4, 5, 6, 7, 10, 11)
GROUP BY tblB.StateDuration, tblB.Id, tblA.Start_Time,
tblA.End_Time,tblB.End_Time,
tblB.Start_Time
這讓我第一時間區間時TBLB比賽TBLA,在這裏我想這些時間幀之間的所有時長的總和的開始和結束時間。如果我不清楚,請告訴我。
我做了一些修改。請檢查最新版本 –
如果我不按照我發佈的內容進行分組,則會向我發出錯誤,說我必須對他們進行分組。 – Jessica
you group by tblb.id –