Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:ottenere colonne in base alle priorità del valore

Puoi usare due join a sinistra. Uno per unire tutte le stringhe DE, uno per unire tutte le stringhe EN e quindi aggiungere un IFNULL(de.text, en.text) nella tua selezione

selectr tblkeys.idkey, ifnull(de.translation, en.translation)
from tblkeys
left join 
(select idkey, translation from tbltranslations where tbltranslations.dtlanguage = 'de') de 
on de.idkey = tblkeys.idkey
left join
(select idkey, translation from tbltranslations where tbltranslations.dtlanguage = 'en') en
on en.idkey = tblkeys.idkey