如何在LEFT JOIN的MYSQL will字段中GROUP_CONCAT中存在空值?

时间:2019-03-31 16:26:24

标签: mysql group-concat

这与我之前提交的here示例问题有关。 我有以下sql查询:

SELECT 
listings.*,
region.REGION_ID,
#GROUP_CONCAT(region.REGION_ID) AS GROUP_IDs,
......
......
INNER JOIN schedule ON schedule.SCHEDULE_ID = listings.LISTING_SCHEDULE_ID 
LEFT JOIN listing_region ON listing_region.LIST_REGION_LISTING_ID = 
listings.LISTING_ID 
......
......
WHERE listings.LISTING_ID IN 
(SELECT LISTING_ID FROM listings WHERE ..........

结果如下:

Raw data without GROUP_CONCAT

我为同一个ListingID获得了多个RegionID,而对于来自LEFT联接的不存在的记录,rest为null(预期)。

现在,我需要对具有相同列表ID的region_Ids进行分组。

因此,我所做的唯一更改是注释掉了“ region.REGION_ID”并启用了“ GROUP_CONCAT(region.REGION_ID)AS GROUP_ID”。

结果如下:

Results with GROUP_CONCAT

我不明白为什么现在要删除空行。我想要它们...! 我应该在这里纠正什么?

1 个答案:

答案 0 :(得分:0)

我应该做的唯一更改是:将GROUP BY ListingID添加到主过滤器子句中。