Ich habe ein Problem, bei dem ich die Daten mehrerer Zeilen vergleichen muss. Die Anforderung besteht darin, dass die Daten nach "Region/Gebiet" -Kombination mit dem niedrigsten "Startdatum" und dem höchsten "Enddatum" gruppiert werden müssen, WENN zwischen dem vorherigen "Enddatum" und dem nächsten "Startdatum" eine Lücke von mehr als 1 Tag besteht.SQL 2012 Daten über mehrere Zeilen hinweg vergleichen
Das 'StartDate' ist immer der erste des Monats und das 'EndDate' ist immer der letzte Tag des Monats.
eine vereinfachte Tabelle als solche Gegeben:
Region | Area | StartDate | EndDate
-------|------|---------------|-------------
A | 1 | 01/01/2016 | 03/31/2016
A | 1 | 04/01/2016 | 05/31/2016
A | 1 | 07/01/2016 | 09/30/2016
A | 1 | 10/01/2016 | 01/31/2017
A | 1 | 02/01/2017 | 12/31/2017
B | 2 | 01/01/2016 | 04/30/2016
B | 2 | 05/01/2016 | 09/30/2016
A | 4 | 01/01/2016 | 05/31/2016
A | 4 | 06/01/2016 | 12/31/2016
ich die Ergebnisse brauchen so etwas wie folgt aussehen:
Region | Area | StartDate | EndDate
-------|------|--------------|-----------
A | 1 | 01/01/2016 | 05/31/2016
A | 1 | 07/01/2016 | 12/31/2017
B | 2 | 01/01/2016 | 09/30/2016
A | 4 | 01/01/2016 | 12/31/2016
I GROUP BY mit MIN und MAX Daten versucht, aber ich kann nicht scheinen zu verstehe die Logik richtig.
Alle Gedanken oder Vorschläge würden sehr geschätzt werden.
Vielen Dank, hatte ich die Teile scheine ich nur konnte sie nicht –
zusammen zu bekommen @JeffMartinez keine Sorgen, froh, dass es für Sie –
Eine Follow-up-Frage gearbeitet - wenn es eine dritte Datumsspalte war, sagen 'ChangeDate', ich brauche nur den MAX-Wert für jede Gruppierung; wie schließt du das ein? Wenn ich versuche, die Ergebnisse zu erhöhen, setzte ich –