altra domanda di logica relazionale
ho 4 tabelle

Codice PHP:
1)
 
A      B
a1    b1 
a2    b2
a3    b3


2
)
 
B      C
b1    c1 
b2    c2


3
)
 
B      D
b2    d1

4
)

 
B      E
b3    e1 
vorrei come risultato la seguente tabella

Codice PHP:
A          B         C          D        E
a1        b1        c1          
-       - 
a2        b2        c2        d1       -
a3        b3        -          -        e1 
ho usato la segunete query

Codice PHP:
SELECT 1.*, 2.C3.D4.E
FROM 1 LEFT OUTER JOIN 
(2 LEFT OUTER JOIN (3 LEFT OUTER JOIN 4 ON 3.B=4.B)ON 2.B=3.BON 1.B=2.B 
invece il risultato è il seguente

Codice PHP:
A          B         C          D        E
a1        b1        
-           -       - 
a2        b2        c2        d1       -
a3        b3        -          -        e1 
ovvero, nonostante esista C.b1=B.b1, C.c1 non viene visualizzata.
se invece esiste D.b2=C.b2=B.b2 allora sia c2 che d1 vengono visualizzati.

come mai?

mille grazie