Rolf B: IF Abfrage zur Auswahl von verschiedenen LEFT JOIN

Beitrag lesen

Hallo Manon,

nein, kannst Du nicht so einfach. Eine Tabellenreferenz ist in einem SQL Statement nicht variabel.

Wenn Du aus data_text und data_calc gleichartige Spalten ausliest, dann könntest Du es so machen um unnötigen Join-Aufwand zu sparen:

SELECT a.bla1, a.bla2, a.bla3, aa.foo, aa.bar
FROM blabla a
     LEFT JOIN data_text aa ON aa.id_field=a.id 
WHERE a.typ in (1, 2)

UNION ALL

SELECT a.bla1, a.bla2, a.bla3, cc.foo, cc.bar
FROM blabla a 
     LEFT JOIN data_calc cc ON cc.id_field=a.id
WHERE a.typ not in (1, 2)

(den Alias a kannst Du in beiden Teilen unabhängig verwenden, das ist kein Problem. Grad probiert 😉 ).

Rolf

--
sumpsi - posui - clusi