sql >> Databáze >  >> RDS >> Mysql

Odlišné připojení k mySQL?

Zkuste toto:

SELECT     a.locale, c.text AS text_1, d.text AS text_2
FROM       (SELECT DISTINCT locale FROM i18n) a
CROSS JOIN table_1 b
LEFT JOIN  i18n c ON b.text_1 = c.id_i18n AND a.locale = c.locale
LEFT JOIN  i18n d ON b.text_2 = d.id_i18n AND a.locale = d.locale

Ukázka SQLFiddle

UPRAVIT :Tohle by mohlo fungovat lépe:

SELECT
    a.locale, b.text_1, c.text_2
FROM
    (SELECT DISTINCT locale FROM i18n) a
LEFT JOIN
(
    SELECT b.locale, b.text AS text_1
    FROM   table_1 a
    JOIN   i18n b ON a.text_1 = b.id_i18n
) b ON a.locale = b.locale
LEFT JOIN
(
    SELECT b.locale, b.text AS text_2
    FROM   table_1 a
    JOIN   i18n b ON a.text_2 = b.id_i18n
) c ON a.locale = c.locale

Ukázka SQLFiddle



  1. Chyba PDO:SQLSTATE[HY000]:Obecná chyba:2031

  2. Spring Boot / JPA / mySQL - vztah mnoho k jednomu vytváří příliš mnoho SQL dotazů

  3. Skupina DateTime podle data a hodiny

  4. MySQL Change Collation of All Tables