Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :Obtenir des colonnes par priorités de valeur

Vous pouvez utiliser deux jointures à gauche. Un joignant toutes les chaînes DE, un pour joindre toutes les chaînes EN, puis ajoutez un IFNULL (de.text, en.text) dans votre sélection

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