我正在加入一个在一个字段中有多个值的表。我没有从查询中得到我想要的结果。我想使用 groupid 连接表,并且想要生成名称和组名称的结果。
tb人
| 人物 | 姓名 | 组ID |
|---|---|---|
| P001 | Α | 1,2,3 |
| P002 | 贝塔 | 2,3 |
| P003 | 查理 | 1,3 |
tb集团
| 组ID | 团队名字 |
|---|---|
| 1 | 投资者 |
| 2 | 经销商 |
| 3 | 零售商 |
我想和他们一起做一张桌子
| 姓名 | 团队名字 |
|---|---|
| Α | 投资者、分销商、零售商 |
| 贝塔 | 分销商、零售商 |
| 查理 | 投资者、零售商 |
SELECT p.name, g.group_name
FROM tbPerson p
LEFT JOIN tbGroup g ON p.groupid = g.groupid
Run Code Online (Sandbox Code Playgroud)
它只为每个人提供 1 个 group_name。
小智 5
SELECT tbPerson.name,
GROUP_CONCAT(tbGroup.group_name SEPARATOR ', ') AS group_name
FROM tbPerson
JOIN tbGroup ON FIND_IN_SET(tbGroup.groupid, tbPerson.groupid)
GROUP BY tbPerson.personid
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |