Thx für deine Antwort
die klammern sind nicht wirklich hilfreich, in deinem falle und verwirren mehr, als sie helfen, da AND stärker bindet als OR. ausserdem finde ich die formatierung schwer zu lesen.
SELECT nr
FROM objects
WHERE nr NOT IN (SELECT objnr
FROM bookings
WHERE date1 < '20081212' AND date2 >= '20081212'
OR date1 <= '20081210' AND date2 > '20081210'
OR date1 >= '20081210' AND date2 <= '20081212'
)
;
wie gesagt, die innere Anfrage funktioniert so wie sie soll, das weiss ich sicher (weil Sie vorher alleine stand). Ich klammer' halt immer ganz gerne, zum Schutz gegen injections, aber in dem Fall unnötig, stimmt.
Es geht mir hier allein darum, wie ich den bereits funktionierenden query mit der NOT IN oder eben einem LEFT JOIN verbinden kann.
wo sind die beispieldaten, die Vinz ganz zurecht gefordert hat ?
Hab ich euch doch schon geschrieben?! Nochmal ausführlich:
Ein mögliches object: Nr 4, Name: BMW X5, beschreibung: super schnell
eine mögliche Buchung: Name des Kunden: Max Mustermann, gebuchtes Objekt: ?, Anfangsdatum: 20081210, Enddatum:20081212
Um zu bestimmen welches Objekt der Kunde überhaupt buchen kann, muss ich herausfinden, zu welchen Objekten für den gegebenen Zeitraum noch keine Buchung vorliegt.
Ist das was du meintest?
Grüße,
Max