Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql:łączenie tabel dla rekordów tłumaczeń

Po prostu rób lewe sprzężenia do tej samej tabeli na identyfikatorze, ale dodatkowe kolumny reprezentujące ich język...

Edytowano, aby pokazać angielski, jeśli nie ma wartości w odpowiednich kolumnach na zapytanie o komentarz.

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. rake db:tworzenie nie powiodło się na Win7 x64

  2. Potrzebujesz zapytania mysql

  3. MySQL A lub B, ale NIE oba

  4. Podstawowa pula połączeń DB z Javą i Tomcat 7

  5. Wiele atrybutów wymazywania połączenia wewnętrznego