sql >> データベース >  >> RDS >> Mysql

mySQL個別結合?

    これを試してください:

    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デモ

    編集 :これはうまくいくかもしれません:

    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デモ



    1. ユニオンオールで挿入すると、nextvalは重複する値では機能しません

    2. #orに渡される関係は、構造的に互換性がある必要があります。互換性のない値:[:references]

    3. 空間ポイントタイプを使用したMySQLへのLatLng値の保存

    4. SQLをoutfileに-ファイルはどこに保存されますか? (MySQL、Windows)