sql >> Base de Datos >  >> RDS >> Mysql

MySQL:obtener columnas por prioridades de valor

Puede usar dos combinaciones izquierdas. Uno que une todas las cadenas DE, otro para unir todas las cadenas EN y luego agrega un IFNULL(de.text, en.text) en su selección

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