Vereinfachte Struktur.SQL - Start- und Enddatum basierend auf einer anderen Spalte
Ich brauche die beiden Daten zwischen einem Datensatz, der mehrere Male und ich brauchen würde getrennte Reihen für ihre Zeiten
hat in diesem Zustand sein könnte 1.Der Datensatz einen Aktionstyp von 4 und einen Aktionstyp
beispielsweise für IncidentId = 1
- Row 1 - Starttime = 2017.01.01 14.00 Uhr (ID: 3) - End Time = 2017.01.01 20.00 Uhr (ID: 5)
- Zeile 2 - StartTime = 2017-01-01 21:00 (id: 6) - End Time = 2017- 02.01 11.00 Uhr (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
Woher wissen Sie, welche 'StartTime' (4) mit welcher 'EndTime' (1) geht? Zum Beispiel: 'IncidentLogID's # 6 & # 7 zeigen beide einen Start für' IncidentID' # 1 an. Woher wissen Sie, ob 'IncidentLogID' # 8 mit # 6 oder # 7 gepaart ist? – 3BK
So werden die Daten formatiert. Wenn ein Ereignis OnHold ist, bleibt es bei ActionTypeId 4. Es bleibt so, bis es nicht länger gehalten wird, aber andere Felder können sich ändern, ohne dass sich die 4 ändert. Die mittleren Datensätze für beispielsweise Zeilen-ID 7 - können in Bezug auf die Rückgabe des Werts ignoriert werden. – Kieran