首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JOIN查询mysql中的GROUP_CONCAT问题

JOIN查询mysql中的GROUP_CONCAT问题
EN

Stack Overflow用户
提问于 2018-07-04 19:13:33
回答 0查看 97关注 0票数 0

我有一个连接查询,在这里我离开了连接2个表,比如tab_sectortab_sector_subdivisions。我在第一个表中有记录,在第二个表中可能有也可能没有相应的记录。我以这样的方式连接这些表,它应该返回第一个表中的所有行和第二个表中的匹配行。另外,如果第一个表中的行在第二个表中有多条记录,它应该作为GROUP_CONCAT(field_name)返回。但是我的查询没有以我需要的方式返回。

下面是不带GROUP_CONCAT的查询:

代码语言:javascript
复制
SELECT tab_sector.sector_id,tab_sector.sector_title,tab_sector.sector_desc,tab_sector.sector_image,tab_sector_subdivisions.subdiv_id 
FROM tab_sector 
LEFT JOIN tab_sector_subdivisions 
ON tab_sector_subdivisions.sector_id = tab_sector.sector_id WHERE tab_sector.active = 'Y'

结果是:

您可以看到id为20的两行。我需要的是单行,但是subdiv_id作为(19,20)。然后我在查询中使用GROUP_CONCAT,如下所示:

代码语言:javascript
复制
    SELECT tab_sector.sector_id,tab_sector.sector_title,tab_sector.sector_desc,tab_sector.sector_image,GROUP_CONCAT(tab_sector_subdivisions.subdiv_id) 
FROM tab_sector 
LEFT JOIN tab_sector_subdivisions 
ON tab_sector_subdivisions.sector_id = tab_sector.sector_id WHERE tab_sector.active = 'Y'

那么结果将是:

我的另外两个记录在这里丢失了。我希望在我的结果中也有这几行。

有人能帮我解决这个问题吗?提前谢谢。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51172310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档