MySQL ehemaliger FULL OUTER JOIN zusammenstellen

Schrubber

Bekanntes Mitglied
Hallo,

ich habe folgendes Problem:

Meine Tabellen-Struktur schaut wie auf dem Screenshot aus (nur 3 der 20 Tabellen).

In .zimmer sind über 300 Zimmer mit ihrem Typ eingetragen.
in .buchungzimmer ist die jeweilige zimmer-id (Zid) mit der jeweiligen buchung-id (Bid) verknüpft.
In .buchung habe ich für jede Buchung das Start- und Ende-Datum hinterlegt.

Nun meine Problematik:


Ich gebe eine Zeitspanne in eine Maske ein mit Start- und EndDatum. Nun möchte ich, dass mein SQL-Befehl mir alle Zimmer-ID's auswirft, die zur besagten Zeit KEINE Buchung hinterlegt haben.

Hatte erst überlegt das mit einem FULL OUTER JOIN zu machen, aber der ist leider nicht mehr verfügbar.

Bin über sämtliche Denk- oder Lösungsansätze dankbar.


Grüße,
Schrubber
 

Anhänge

  • Screenshot_2.png
    Screenshot_2.png
    68,7 KB · Aufrufe: 33

Thallius

Top Contributor
nur so ungefähr da ich keine Lust habe jetzt die genauen Bezeichner für deine Tabellen rauszusuchen...

SELECT zimmerId
FROM zimmer
LEFT JOIN buchungzimmer ON (buchungzimmerID = zimmerID)
LEFT JOIN Buchung ON (buchungID = buchungzimmerID AND buchungstart <= :EndDatum AND buchungende >= :StartDatum)
WHERE buchungID IS NULL

Gruß

Claus
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben