我在MySQL中有表格如下:
表项目:
id item_name contact_id
1 Cocacola 1;3
2 Clothes 2;3
表联系
id name tel
1 Dona xxx-xxx-xxxxx
2 Maro xxx-zzz-zzzzz
3 Sana yyy-mmm-mmmmm
加入后需要结果:
id item_name contact_tel
1 Cocacola xxx-xxx-xxxxx, yyy-mmm-mmmmm
2 Clothes xxx-zzz-zzzzz, yyy-mmm-mmmmm
我可以使用MySQL中的连接获得结果吗?
答案 0 :(得分:3)
SELECT
item.id,
item.item_name,
GROUP_CONCAT(tel) contact_tel
FROM
item LEFT JOIN contact
ON FIND_IN_SET(contact.id, REPLACE(item.contact_id, ';', ','))
GROUP BY
item.id,
item.item_name
请参阅小提琴here。性能会很慢,因为使用FIND_IN_SET连接表不能使用索引。