sql >> Database teknologi >  >> RDS >> Mysql

mySQL Distinct Deltag?

Prøv dette:

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

REDIGER :Dette virker måske bedre:

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. Værktøj, der konverterer mySQL-forespørgsel til Zend FrameWork-forespørgsel

  2. SQL Server-godkendelse vs. Windows-godkendelse:Hvilken skal bruges og hvornår

  3. Arbejde med Java Data i Sisense

  4. Hvordan aktiverer jeg MSDTC på SQL Server?