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

Mysql :joindre des tables pour les enregistrements de traduction

Continuez simplement à faire des jointures à gauche sur la même table sur l'ID, mais des colonnes supplémentaires représentant leur langue...

Modifié pour afficher l'anglais si aucune valeur dans les colonnes correspondantes par demande de commentaire.

select 
      eng.id,
      eng.translated_text InEnglish,
      coalesce( spn.translated_text, eng.translated_text ) InSpanish,
      coalesce( frn.translated_text, eng.translated_text )  InFrench
   from
      translation eng
         left join translation spn
            on eng.id = spn.id
            and spn.Language_ID = 2
         left join translation frn
            on eng.id = frn.id
            and spn.Language_ID = 3
   where
      eng.Language_id = 1
   order by 
      eng.id