Problem mit MySQL-Abfrage

Metzga

Alkmene
Registriert
19.12.05
Beiträge
32
Servus!

Ich habe ein Problem mit einer MySQL-Abfrage und stelle mich anscheinend ein bisschen blöde an...

Die Struktur der DB ist dem Bild im Anhang zu entnehmen. Ich will nun eine Abfrage gestalten, die mir alle Elemente der Tabelle Fahrzeuge ausgiebt, die in einem bestimmten Zeitraum _nicht_ reserviert sind. Reservierungen (wie sollte es anders sein ;) ) werden in der Tabelle Reservierungen geführt, die Start- und Endzeiten liegen im Unix-Timestamp vor. Zusätzlich dazu möchte ich in dieser Abfrage gleich die Bezeichnungen der Fahrzeug-Eigenschaften wie Klasse, Typ und Hersteller einschließen.

Bin für jede Hilfe dankbar!!

Grüße,
Metzga
 

Anhänge

  • Vorführwagen.png
    Vorführwagen.png
    50,3 KB · Aufrufe: 118

checkert

Carola
Registriert
13.06.06
Beiträge
114
Hi, wuerde ich als Subselect ausfuehren lassen: alle belegten Fahrzeuge im Zeitraum rausfinden und dann die anderen, nicht belegten mit allem Firllefanz anzeigen lassen, etwa so:

select Kl.Name, He.Name, Ty.Name, idFahrzeuge, Fa.Kennzeichen from Fahrzeuge Fa, Typen Ty, Klassen Kl, Hersteller He where idFahrzeuge not in (select distinct idFahrzeuge from Reservierungen where Start >= starttimestamp and Ende <= endtimestamp) and Fa.idTypen = Ty.idTypen and Ty.idKlassen = Kl.idKlassen and Ty.idHersteller = He.idHersteller;
 

slayercon

Meraner
Registriert
17.01.05
Beiträge
231
Subselect gibt es IMHO nur in neueren MySQL Versionen wenn überhaupt.

Das Problem sollte sich durch ein JOIN Statemanet lösen lassen.
 

Metzga

Alkmene
Registriert
19.12.05
Beiträge
32
Servus!
Wie ich mittlerweile herausgedfunden habe, sind Subqueries seit MySQL 4.1 möglich. (War mir übrigens auch neu...).
Damit hat dann auch alles wunderbar geklappt!

Vielen Dank für eure Hilfe!

Grüße