sql >> Database >  >> RDS >> Mysql

mySQL onderscheidend lid worden?

Probeer dit:

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

SQLFiddle-demo

BEWERKEN :Dit werkt misschien beter:

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

SQLFiddle-demo



  1. Kan het Laravel-authenticatiesysteem een ​​bestaande database gebruiken?

  2. Mysql LIKE-clausule en afzonderlijke woorden in een veld

  3. Spring MVC - record verwijderen uit JSP-tabel

  4. Voorloop- en volgnullen toevoegen in SQL Server