嗨,我需要帮助,试图找出如何连接两个表,并从varchar检索值作为外键。该表与下表相似。
Table_Contractor
TraderID- -Name- -Skill_ID
1---乔--- 1,2,3,4
鲍勃,1,3
汤姆,4,3,1
Table_Trade
Skill_ID- -Skill_Title
水管工
2- -- -Bricklayer
3- -- -Electrician
4- -- -Plasterer
我希望能够选择TraderId和名称,并显示技能的名称,而不是Skill_ID
TraderID- -Name- -技能
水管工,砖匠,电工,粉刷工
2
3
发布于 2015-08-05 16:03:15
如果您可以更改表的结构,我强烈建议使用以下表格:
你可以很容易地得到你想要的结果:
SELECT c.id, c.name, GROUP_CONCAT(s.title) skills
FROM contractor c
LEFT JOIN contractor_skill cs
ON cs.contractor_id = c.id
LEFT JOIN skill s
ON s.id = c.skill_id使用当前的结构,要加入表,您需要从每个承包商的csv列表中提取每个skill_id,并将其加入到相关技能中。MySQL不是为此而建的。此外,添加、删除或排序承包商的技能等操作也会变得非常混乱。
https://stackoverflow.com/questions/31837159
复制相似问题