Hallo,
... und dann werden die fehlenden Werte plötzloch nicht mehr
mit NULL aufgefüllt.
welches Daten liegen vor, welches Ergebnis erwartest Du, welches erhältst Du?
Seit MySQL 5.0.12 (oder so) ist die Join-Implementierung in MySQL ganz ordentlich und liefert die von der Theorie her erwarteten Resultate. Das hat viele, auch prominente, Anwendungen gebrochen, die sich auf die Werte verließen, die MySQL bis dahin lieferte, die der Theorie widersprachen.
Welche Version also?
Beispiel
A id
---
1
2
3
4
B id
---
1
3
C id
---
1
4
SELECT
A.id,
B.id
FROM
A
LEFT JOIN
B
ON
A.id = B.id
liefert
A.id | B.id
-----------
1 | 1
2 | NULL
3 | 3
4 | NULL
SELECT
A.id,
B.id,
C.id
FROM
A
LEFT JOIN
B
ON
A.id = B.id
LEFT JOIN
C
ON
A.id = C.id
liefert
A.id | B.id | C.id
-------------------
1 | 1 | 1
2 | NULL | NULL
3 | 3 | NULL
4 | NULL | 4
Dieses Ergebnis erwarte ich, dieses Ergebnis liefert MySQL in den Produktions 5er und 5.1er-Versionen. Dein Problem ist daher für mich nicht nachvollziehbar.
Freundliche Grüße
Vinzenz