Problem:
Gegeben sind zwei Tabellen mit Start- und Endzeitspalten, Die Aufgabe besteht darin, Zeilen in der zweiten Tabelle zu identifizieren, die sich in Zeitintervallen mit jeder Zeile in der ersten Tabelle überschneiden. Die Bedingung berücksichtigt auch Zeilen in der zweiten Tabelle mit Null-Endzeiten.
Lösung:
Unter Verwendung der SQL Server 2005-Syntax wird dies durch die folgende WHERE-Klausel effektiv behoben Problem:
SELECT * FROM table1,table2 WHERE table2.start <= table1.end AND (table2.end IS NULL OR table2.end >= table1.start)
Erklärung:
Das obige ist der detaillierte Inhalt vonWie kann SQL überlappende Zeitintervalle zwischen zwei Tabellen effizient identifizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!