我需要连接两个表,但其中一个表列有多个值,并且每个值都用逗号分隔。而其他表有该 id 的值。请参阅下面的示例
表1
身份证 |值(value)
---------------
1 | 34,54
2 | 76
3 | 12,8
4 | 3,90,78
表2
身份证 |值(value)
---------------
34 | 34绿色
54 | 54红色
76 | 76黑色
12 | 12白色
8 |蓝色
3 |橙色
。
。
.
我希望输出看起来像
输出表
表1.ID |表2.值
---------------
1 |绿色,红色
2 |黑色
3 |白色、蓝色
欢迎任何帮助,提前致谢。
最佳答案
在您进行规范化之前,使用 find_in_set
和 group_concat
的效率不高
select
t1.id,
group_concat(t2.value) as value
from table1 t1
join table2 t2 on find_in_set(t2.id,t1.value)
group by t1.id
关于mysql - SQL 连接一列中的多个值,以逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30305131/