我有 2 个简单的表格,如下所示
用户
id name surname
1 John Douglas
2 Sam Morris
3 Michael Johnatan
细胞
id userId cellPhone
1 1 13809876543
2 1 13809876525
3 2 13809876450
我想在最后只使用 Mysql 得到的结果:
结果
name surname cellPhone
John Douglas 13809876543,13809876525
Sam Morris 13809876450
Michael Johnatan
这是我的sql查询
SELECT
o.name,
o.surname,
CONCAT(ons.cellPhone, ',', ons2.cellPhone) as CellPhone
FROM
users as o
LEFT JOIN cells as ons
ON o.id = ons.userId
LEFT JOIN cells as ons2
ON o.id = ons2.userId AND
ons.id NOT LIKE ons2.id
GROUP BY o.id
所以,在这种情况下,最后我得到了这个结果:
结果
Name Surname Phones
John Douglas 13809876543,13809876525
Sam Morris
Michael Johnatan
可以看到,sql并没有显示Sam的手机。据我了解,它会在用户有 2 个电话号码时显示。我尝试了很多来修复它。如果有人帮忙,我将不胜感激..
最佳答案
你可以这样做:
SELECT
users.name,
users.surname,
GROUP_CONCAT(cells.cellPhone) as CellPhone
FROM
users
LEFT JOIN cells
ON users.id = cells.userId
GROUP BY users.id
引用:
关于mysql - 在mysql上显示用户编号没有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26297703/