Hier finden Sie die Eingabe und die erforderliche Ausgabe. Ich brauche eine Abfrage/Prozedur/Funktion in T-SQL, um diese Ausgabe zu erhalten.Vergleichen Sie einen Datumsbereich aus einer Tabelle mit einem anderen Tabellen-Datumsbereich und finden Sie fehlende Periode
Voraussetzung: Ich habe Tabelle a und Tabelle b.
erhalten Sie alle Datumsbereiche aus Tabelle b und fehlende Datumsbereiche aus Tabelle a (im Vergleich zu Tabelle b).
Grundsätzlich müssen wir sicher, dass alle Datumsbereiche in der Tabelle ein machen, müssen in der Ausgabe
Input
table b
Start date End date ID
1/1/2009 9/30/2009 1
1/1/2013 9/30/2013 1
11/1/2014 11/30/2014 1
2/2/2015 12/31/2016 1
table a
1/1/2009 12/31/2011 1
1/1/2013 9/30/2013 1
1/1/2014 4/30/2014 1
10/1/2014 12/31/2014 1
2/2/2015 12/31/9999 1
Output
table b
Start date End date ID
1/1/2009 9/30/2009 1
1/1/2013 9/30/2013 1
11/1/2014 11/30/2014 1
2/2/2015 12/31/2016 1
table a
10/1/2009 12/31/2011 1
1/1/2014 4/30/2014 1
10/1/2014 10/31/2014 1
12/1/2014 12/31/2014 1
1/1/2017 12/31/9999 1
Können Sie Ihre Beispieldaten als Tabelle mit Einsätzen veröffentlichen? Die Formatierung hier ist herausfordernd und ehrlich, das erste, was irgendjemand tun wird, ist dies an einen Tisch zu verschieben. –
Dieser Artikel könnte ein sehr guter Ausgangspunkt für Sie sein: [Eine visuelle Erklärung der SQL-Joins] (https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/) –
Was ist zu erwarten Ausgabe? Sie haben die Tabelle a und b angezeigt, beide sind Ausgabetabellen? –