Ich habe folgende Query:
Code:
SELECT t.id, t.mission_id, t.start, t.end, t.comment,t.driver_reservation_id,
t.codriver_reservation_id, t.vehicle_reservation_id,
t.trailer_reservation_id, t.assortment_reservation_id,
d.name AS d_name, d.surname AS d_surname, dr.driver_id,
cdr.driver_id AS codriver_id,
vr.vehicle_id,
tr.trailer_id,
ar.assortment_id, m.name AS mission, m.color
FROM transports t
JOIN missions m ON t.mission_id = m.id
JOIN driver_reservations dr ON t.driver_reservation_id = dr.id
JOIN driver_reservations cdr ON t.codriver_reservation_id = cdr.id
JOIN vehicle_reservations vr ON t.vehicle_reservation_id = vr.id
JOIN trailer_reservations tr ON t.trailer_reservation_id = tr.id
JOIN assortment_reservations ar ON t.assortment_reservation_id = ar.id
JOIN drivers d ON dr.driver_id = d.id
Transports Tabelle
Code:
[mission_id]
[driver_reservation_id]
[codriver_reservation_id]
[vehicle_reservation_id]
[trailer_reservation_id]
[assortment_reservation_id]
[start]
[end]
[comment]
Eine Reservation Tabelle sieht wie folgt aus (driver_reservation)
Code:
[id]
[mission]
[driver_id]
[start]
[end]
Solange in den "Reservation" Tabellen ein Eintrag besteht, welcher mit der reservation_id korrespondieren funktioniert die Query.
Doch nach meiner Anforderung muss es möglich sein, dass auch keine Reservation eingetragen ist. Dazu setze ich die jeweilige reservation_id auf NULL. Jedoch sobald eine reservation_id auf NULL setze gibt die ganze Query NULL zurück.
Hat jemand schon ein ähnliches Problem gehabt oder kann mir eine elegante Lösung aufzeigen.
EDIT: Es handelt sich um eine MySQL-Datenbank
-------------------------------------------------------------------------------------------------
Hab die Lösung, welche doch Simpler war als gedacht gefunden.
"LEFT JOIN"
Mein Fehler habe schon lange nicht mehr mit SQL gearbeitet. Hätte einfach mal besser die Dokumentation lesen sollen

.
[Close Request]