Ich würde das T3 auf der einen Zeile noch rausschmeissen
Code:
SELECT *
FROM
T1
INNER JOIN T2 ON(T1.key=T2.Key)
RIGHT JOIN T3 ON(T1.key=T3.Key)
RIGHT JOIN T4 ON(T3.Key=T4.Key)
WHERE
T1.Wert like 'Copper%'
Und wie macht man es hiermit?
Code:
select ...
from T1,(select MyKey from T2 where T2.Wert=0) T2
where T1.Key=T2.Mykey
Code:
select T1, t2.MyKey
from T1 join (select MyKey from T2 where T2.Wert=0) T2 on t1.key= t2.mykey
Das Konstrukt
Code:
select * from t1,t2,t3 where t1.ID = t2....
kann bei Verwendung des Gleichheitsoperators übrigens zu Fehlern führen, und ist somit nicht 100% äquivalent zu einem Join. Das liegt an der Auswertereihenfolge.