Ich habe Mühe, einen effektiven, prägnanten Weg ohne eine Schleife zu finden, um Gruppen von aktiven Daten zu erzeugen, bei denen Aktivität (Gewähren/Zurückziehen) ist basierend auf der Spalte Switch, die Werte 0 off und 1 on sowie Start- und Enddatum hat.T-SQL: Gruppierung von Datumsbereichen und Festlegen des Enddatums basierend auf on/off-Spalte
TransactionDate EffectiveDate TerminationDate Switch
-------------------------------------------------------------------
2013-06-14 2013-05-29 NULL 1
2013-06-14 2013-06-05 2013-06-05 0
2013-10-03 2013-05-29 2013-05-29 0
2013-10-12 2013-05-29 NULL 1
2013-10-12 2013-06-06 2013-06-06 0
Die endgültige Ausgabe aber eine Zeile sein sollte:
2013-05-29 to 2013-06-06
Der Ausgang ist eine Zeile, da die in den letzten zwei Transaktionen für 2013.05.29 einschalten waren und der letzte Schalter ausgeschaltet war 2013-06-06, welches das Enddatum für die Zeitspanne wird.
Noch mehr, die Daten sollten auch nach aktiven Spannen gruppiert werden. Wenn es ein weiteres Jahresrekord hier geben würde, müsste es in einer separaten Reihe sein.
Kann ich bitte Hilfe mit einer Abfrage erhalten, um dieses Problem zu lösen?
Syntaxfehler - SQL Server 2012 – rcast
Ja, nur entfernen Sie den letzten
rcast