我知道我在做傻事
这个左连接不应该只给出一个记录吗?
我的sql小提琴:
http://sqlfiddle.com/#!9/251f7/1
另外,如果一个善良的灵魂能帮助我把产品名称放在一个用逗号分隔的字段中

required output
id1 id2 productName
a1  x1  copier,headphone,cable,monitor

最佳答案

left join在您的示例中工作得非常好,应该这样,要在一个带分隔符的字符串中concatproductName,您应该执行group by并使用group_concat

select ForgeRock.id1
     , ForgeRock.id2
     , group_concat(ForgeRock.productName)
from TClock
left join ForgeRock on TClock.id1 = ForgeRock.id1 and
                       TClock.id2 = ForgeRock.id2
where colour = 'red'
group by ForgeRock.id1
       , ForgeRock.id2

SQLFiddle

关于mysql - mysql左连接结果在4条记录中,而不是1条,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30872619/

10-11 04:44