mysql 左联接产生 4 条记录而不是 1 条
mysql left join results in 4 records instead of 1
我知道我在这里做了一些傻事
这个left join是不是应该只给一条记录?
我的sqlfiddle:
http://sqlfiddle.com/#!9/251f7/1
另外,如果有好心人可以帮我把productName放在一个字段中,用逗号分隔
required output
id1 id2 productName
a1 x1 copier,headphone,cable,monitor
left join
在你的例子中工作得很好,它应该的方式,在一个带有分隔符的字符串中连接 productName
你应该做一个 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
我知道我在这里做了一些傻事
这个left join是不是应该只给一条记录?
我的sqlfiddle:
http://sqlfiddle.com/#!9/251f7/1
另外,如果有好心人可以帮我把productName放在一个字段中,用逗号分隔
required output
id1 id2 productName
a1 x1 copier,headphone,cable,monitor
left join
在你的例子中工作得很好,它应该的方式,在一个带有分隔符的字符串中连接 productName
你应该做一个 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