簡体字構造。SQL - 別の列に基づく開始日と終了日
私は4のアクションタイプとレコードはその状態で複数回可能性があり、私はその倍
ために別の行が必要になります。1.のアクションタイプを持つレコードの間に2つの日付を必要としますIncidentIdについては、例えば
= 1
- 行1 - のStartTime = 2017年1月1日午前14時○○(ID:3) - 終了時間= 2017年1月1日20:00(ID:5)
- 行2 - StartTime = 2017-01-01 21:00(ID:6) - 終了時間= 2017- 01-02 11時00分(ID:9)
CREATE TABLE #returntable ( [incidentid] INT, [starttime] DATETIME, [endtime] DATETIME ) CREATE TABLE #testtableofdoom ( [incidentlogid] INT, [incidentid] INT, [timestamp] DATETIME, [actiontypeid] INT ) INSERT INTO #testtableofdoom (incidentlogid, incidentid, timestamp, actiontypeid) VALUES (1, 1, '2017-01-01 09:00', 1) , (2, 1, '2017-01-01 11:00', 1) , (3, 1, '2017-01-01 14:00', 4) , (4, 1, '2017-01-01 16:00', 4) , (5, 1, '2017-01-01 20:00', 1) , (6, 1, '2017-01-01 21:00', 4) , (7, 1, '2017-01-02 09:00', 4) , (8, 2, '2017-01-02 10:00', 1) , (9, 1, '2017-01-02 11:00', 1) , (10, 1, '2017-01-02 14:00', 1) , (11, 2, '2017-01-02 15:00', 4) , (12, 1, '2017-01-02 16:00', 1) , (13, 1, '2017-01-02 17:00', 1) , (14, 1, '2017-01-02 18:00', 1) , (15, 2, '2017-01-02 15:00', 1); DROP TABLE #testtableofdoom DROP TABLE #returntable
どの「StartTime'(4)」が「EndTime」(1)と一緒になるのですか?例えば: 'IncidentLogID's#6と#7は両方とも' IncidentID'#1の開始を示しています。 「IncidentLogID」#8が#6か#7とペアになっているかどうかはどうですか? – 3BK
データのフォーマット方法です。インシデントがOnHoldの場合、それはActionTypeIdの4のままです。これは、それがもはや保留にならなくなるまでこれを維持しますが、他のフィールドは変更されずに変更される可能性があります。たとえば行ID 7の中間レコードは、値を返すという点で無視することができます。 – Kieran