MrSpoocy: LEFT JOIN nur wenn haupttabelle wert hat ?

Beitrag lesen

Hiho,

Ich habe eine SELECT abfrage die so aussieht.

SELECT * FROM Tmix AS T1
LEFT JOIN Name AS T2 ON (T1.zutat1 > 0 AND T2.id=T1.zutat1)
LEFT JOIN Name AS T3 ON (T1.zutat2 > 0 AND T3.id=T1.zutat2)
LEFT JOIN Name AS T4 ON (T1.zutat3 > 0 AND T4.id=T1.zutat3)

Jetzt ist meine frage, wird der left join ausgeführt oder nicht wenn T1.zutatX > 0 ist. Oder ob MySQL tabelle Name erst mal läd und dann feststellt das > 0 nicht zutrifft ?

Vor allem, gibt es eine Möglichkeit das bischen besser zu gestalten. Es gibt maximal 4 Zutaten. Die namen dafür stehen alle immer in der Tablle "Name".

MySQL Version 5.1