MySQLは:subqeryにJOINステートメントの使用します

Revious:

明示的な構文で処方することができるジョイン([INNER | LEFT | OUTER | ..]、JOIN ... ON ...)またはWHERE文で条件を指定します。

どのように私は文のFROM外部に呼ばれるテーブルを参照すると、それは、サブクエリに参加することができますか?

この場合、私は別名pでテーブルを参照しています

SELECT 
    p.id,
    p.post_title,
    (SELECT 
            GROUP_CONCAT(DISTINCT wp_terms.name
                    SEPARATOR ',')
        FROM
            p
                JOIN
            wp_term_relationships ON (p.id = wp_term_relationships.object_id)
                LEFT JOIN
            wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
                LEFT JOIN
            wp_terms ON (wp_terms.term_id = wp_term_taxonomy.term_id)
                AND wp_term_taxonomy.taxonomy IN ('post_tag' , 'category'))
FROM
    `post_senza_revisioni` p
WHERE
    p.post_type = 'post'
        AND p.post_status = 'publish'
        AND p.post_parent = 0
GROUP BY id , post_title
ゴードン・リノフ:

私はあなたが相関サブクエリをしたいかなり確信しています:

SELECT p.id, p.post_title,
       (SELECT GROUP_CONCAT(DISTINCT wp_terms.nameSEPARATOR ',')
        FROM wp_term_relationships tr
             wp_term_taxonomy tt
             ON tr.term_taxonomy_id = tt.term_taxonomy_id LEFT JOIN
              wp_terms t
              ON t.term_id = tt.term_id AND
                 tt.taxonomy IN ('post_tag' , 'category'))
        WHERE p.id = r.object_id
       )
FROM `post_senza_revisioni` p
WHERE p.post_type = 'post' AND
      p.post_status = 'publish' AND
      p.post_parent = 0;

私は疑うGROUP BY外部クエリで必要とされているので、私はそれを削除しました。あなたが重複していない場合idの値をp表、あなたはに戻ってそれを追加することができます-それはそれは示唆しているがid、列のための本当に悪い名前です。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=402695&siteId=1