left在MySQL可以做字段吗,如何在LEFT JOIN的MYSQL will字段中使用GROUP_CONCAT?

This is related to my previous example question submitted here.

I have the following sql query :

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 ..........

The result is as follows :

AlBsF.jpg

I get multiple RegionIDs for the same ListingID and rest is null (expected) for non-existing records from LEFT join.

Now I need to group region_Ids for the same Listing ID.

So the only change I did was commenting out "region.REGION_ID" and enabled "GROUP_CONCAT(region.REGION_ID) AS GROUP_IDs,".

The result is as follows :

H0UMB.jpg

I do not understand why null rows are now dropped. I want them...!

What should I correct here?

解决方案

The only change I was supposed to do to Add: GROUP BY ListingID to main filter clause.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值