mySQL join mit IF in Select

NullAhnung

Aktives Mitglied
hallo
hab da ein Problem mit einer MySQL-Abfrage.

ich habe eine :CODE SELECT
IF (`XXXXX`.`t_slot`.`DL` =0, `XXXXX`.`t_slot`.`user_cid`, `YYYYY`.`t_stamm`.`country`) AS  `user_cid`,
IF (`XXXXX`.`t_slot`.`DL` =0, `XXXXX`.`t_slot`.`city`, `YYYYY`.`t_stamm`.`city`) AS  `city`,
zsys.c_allCountry.country,
FROM XXXXX.t_slot
     LEFT JOIN zsys.c_allCountry ON XXXXX.t_slot.user_cid = zsys.c_allCountry.cid  
     LEFT JOIN YYYYY.t_stamm ON XXXXX.t_slot.DL = YYYYY.t_stamm.aid

Das Problem ist, dass bei dieser Abfrage alles funktioniert, bis auf den Fall , dass "Country" nicht angezeigt wird, wenn DL != 0 ist.
Das ist mir auch klar, da ja left join sich auf t_slot.user_cid bezieht.
Aber wie macht man das, dass in dem Fall dann von t_stamm.country genommen wird.
Also müsste es statt:
"FROM XXXXX.t_slot
LEFT JOIN zsys.c_allCountry ON XXXXX.t_slot.user_cid = zsys.c_allCountry.cid"
so heißen:
"FROM YYYYY.t_stamm
LEFT JOIN zsys.c_allCountry ON YYYYY.t_stamm.country = zsys.c_allCountry.cid"
Das ist das Problem....
 
Zurück
Oben