Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Joining-Tabellen für Übersetzungsdatensätze

Führen Sie einfach Linksverknüpfungen zu derselben Tabelle auf der ID durch, aber zusätzliche Spalten, die ihre Sprache darstellen ...

Bearbeitet, um Englisch anzuzeigen, wenn kein Wert in den entsprechenden Spalten pro Kommentaranfrage vorhanden ist.

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