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

Obtener traducciones de una tabla al incluir siempre todos los idiomas, incluso si no hay traducción para ello

Deberá crear todas las combinaciones de translations y translation_languages en una subconsulta. Luego, haga un LEFT JOIN a translation_details en la identificación de la traducción y el idioma.

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