hawkmaster: Join anpassen mit Bedingung?

Hallo zusammen,
ich habe einen etwas größeren JOIN über meherere Tabellen:

SELECT
 B.ElementValue,  C.English AS ElementValueDisplay, I.Interface, I.InternalName, I.ControlDef,I.GroupDef,I.TextID, A.InstallElementsID,
 G.English AS ElementDisplay, A.TabsJobtkID, E.English AS TabNameLanguage, A.PrintSystemsID, D.TabDef, A.DisplayState,
 B.DefaultValue
FROM
 elementgroups A
LEFT JOIN
 elementvalues B ON A.ElementGroupID = B.ElementGroupID
LEFT JOIN
 text_printers C ON C.TextID = B.TextID
LEFT JOIN
 tabsjobtk D ON A.TabsJobtkID = D.TabsJobtkID
LEFT JOIN
 install_elements I ON I.InstallElementsID = A.InstallElementsID
LEFT JOIN
 text E ON E.TextIdentifier = D.Tabname
LEFT JOIN
 text G ON G.TextID = I.TextID
WHERE
 A.PrintSystemsID = '{$printsystemsid}'
ORDER BY
 A.ElementGroupID ASC
")

Soweit funktioniert alles.
Ich habe eine Änderung vorgenommen in der Datenbank. Es gibt eine zusätzliche Tabelle "text_fin". Darin stehen alle Werte für die D.TabsJobtkID = 19.
Ich müsste also den Join irgendwie erweitern oder mit einer Abfrage machen.
wie "if D.TabsJobtkID = 19
LEFT JOIN
 text_fin H ON H.TextID = I.TextID

das weiss ich aber nicht ob und wie man sowas machen kann.

vielen Dank und viele Grüße
hawk

  1. Hallo,

    LEFT JOIN
    text E ON E.TextIdentifier = D.Tabname

    Das ON beim JOIN ist wie das WHERE, du kannst also weitere Bedingungen angeben, z.B.

    text E ON (E.TextIdentifier = D.Tabname AND E.irgenwas IS NOT NULL)

    Gruß, Kalle

    1. yo,

      Das ON beim JOIN ist wie das WHERE, du kannst also weitere Bedingungen angeben, z.B.

      das ON ist insbesondere bei OUTER JOINS nicht wie die WHERE klausel...

      Ilja