Hello,
Ist Lösung für einen Fall von Tom. Dieser sieht so aus:
S2 E2
|-----------|
x---------X
S1 E1
Dargestellt in Formel sollte es so ausseh:
S2 < S1 AND E2 >S1
Es müssen vier Fälle geprüft werden:
S E
|-----------|
x---------x
Xs Xe
S E
|-----------|
x---------x
Xs Xe
S E
|-----------|
x--------------------x
Xs Xe
S E
|--------------------|
x------------x
Xs Xe
Xs liegt im Bereich eines anderen Termins -> nicht erlaubt
(Xs >= S && Xs <= E)
und
Xe liegt im Bereich eines anderen Termins -> nicht erlaubt
(Xe >= S && Xe <= E)
und
S liegt im Bereich von Xs bis Xe -> nicht erlaubt
(S >= Xs && S <= Xe)
und
E liegt im Bereich von Xs bis Xe -> nicht erlaubt
(E >= Xs && E <=Xe)
Wenn diese Abfrage auch nur einen Ergebnisdatensatz hat, dann liegt eine Überschneidug vor.
Ich habe mich an der booleschen Algebra versucht, aber ich glaube, dass man das nicht weiter vereinfachen kann.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg