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

Übersetzungen aus einer Tabelle erhalten, indem immer alle Sprachen eingeschlossen werden, auch wenn es keine Übersetzung dafür gibt

Sie müssen alle Kombinationen von translations erstellen und translation_languages in einer Unterabfrage. Führen Sie dann einen LEFT JOIN durch zu translation_details auf Übersetzungs-ID und Sprache.

SELECT
    * 
FROM
(
  SELECT * 
  FROM translations AS t
  CROSS JOIN translation_languages AS tl
) AS dt 
LEFT JOIN translation_details AS td ON td.translation_id = dt.id 
                                       AND td.language_code = dt.language_code