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....
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....