小编Rol*_*olf的帖子

相关子查询的MySql范围问题

我有这个Mysql查询,它的工作原理:

SELECT 
    nom
    ,prenom
    ,(SELECT GROUP_CONCAT(category_en) FROM
            (SELECT DISTINCT category_en FROM categories c WHERE id IN
                (SELECT DISTINCT category_id FROM m3allems_to_categories m2c WHERE m3allem_id = 37)
            ) cS
      ) categories
    ,(SELECT GROUP_CONCAT(area_en) FROM 
            (SELECT DISTINCT  area_en FROM areas c WHERE id IN 
                (SELECT DISTINCT area_id FROM m3allems_to_areas m2a WHERE m3allem_id = 37)
            ) aSq
     ) areas
FROM m3allems m
WHERE m.id = 37     
Run Code Online (Sandbox Code Playgroud)

结果是:

nom             prenom      categories              areas
Man             Multi       Carpentry,Paint,Walls   Beirut,Baalbak,Saida
Run Code Online (Sandbox Code Playgroud)

它工作正确,但只有当我将查询硬编码到我想要的ID时(37).我希望它适用于m3allem表中的所有条目,所以我试试这个:

SELECT 
    nom
    ,prenom
    ,(SELECT GROUP_CONCAT(category_en) FROM
            (SELECT …
Run Code Online (Sandbox Code Playgroud)

mysql sql scope correlated-subquery

7
推荐指数
1
解决办法
2432
查看次数

标签 统计

correlated-subquery ×1

mysql ×1

scope ×1

sql ×1