SQL gibt Null zurück wenn JOIN Null

06/08/2016 09:44 5anku#1
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 :rtfm:.


[Close Request]