Die Kombination aufgeteilte Bereiche in einer SQL-Abfrage

Ich arbeite an einer Abfrage, die muss einige Daten mit Zeilen-Kombination auf Basis von Zeiträumen. Diese Zeilen sind doppelt, in der alle Daten, Werte, außer dem Datum Bereiche aufgeteilt sind. Zum Beispiel die Daten der Tabelle Aussehen kann

StudentID   StartDate   EndDate     Field1  Field2
1           9/3/2007    10/20/2007  3       True
1           10/21/2007  6/12/2008   3       True
2           10/10/2007  3/20/2008   4       False
3           9/3/2007    11/3/2007   8       True
3           12/15/2007  6/12/2008   8       True

Das Ergebnis der Abfrage sollte die aufgeteilte Bereiche kombiniert. Sollte die Abfrage zu kombinieren, Datumsbereiche mit einem Abstand von nur einem Tag. Wenn es mehr als eine ein-Tages-Lücke, dann die Zeilen sollten nicht kombiniert werden. Die Zeilen, die nicht über eine aufgeteilte Reihe kommen sollte unverändert. Das Ergebnis würde wie folgt Aussehen

StudentID   StartDate   EndDate     Field1  Field2
1           9/3/2007    6/12/2008   3       True
2           10/10/2007  3/20/2008   4       False
3           9/3/2007    11/3/2007   8       True
3           12/15/2007  6/12/2008   8       True

Was wäre die SELECT-Anweisung für diese Abfrage?

  • Konnte Sie klären Sie die Anzahl der Bereiche pro Schüler? Und sind die Lücken wichtig?
  • Ich habe korrigiert die Schreibfehler. Dank
  • Was passiert, wenn es drei zusammenhängende Bereiche der Termine für ein Schüler?
  • Was ist, wenn die Field oder Field2 Werte Veränderungen zwischen den Zeilen, sonst müssen kombiniert werden? Was passiert dann? Diese Art von änderungen die Abfrage, nur ein bisschen. 🙂
Schreibe einen Kommentar