我需要连接两个表,但我的一个表列有多个值,每个值都用逗号分隔。而其他表具有该id的值。请参阅下面的示例
表1
ID |值
---------------
1 | 34,54
2 | 76个
3 | 12,8
4 | 3,90,78
表2
ID |值
---------------
34 |绿色
54 |红
76 |黑
12 |白
8 |蓝
3 |橙色
。
。
我希望输出看起来像
输出表
table1.ID | table2.Value
---------------
1 |绿色,红色
2 |黑
3 |白,蓝
欢迎任何帮助,提前谢谢。
答案 0 :(得分:0)
在进行规范化之前,使用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
答案 1 :(得分:0)
SELECT service_type.id GROUP_CONCAT(usermeta.meta_value)AS值FROM wpxx_service_type AS service_type JOIN wpxx_usermeta AS usermeta ON FIND_IN_SET(service_type.id,usermeta.meta_value)WHERE usermeta.meta_key ='work_area'GROUP BY service_type.id Order by service_type .service_title ASC
我加入两个表wpxx_service_type和wpxx_usermeta usermeta。这个对我有用。 :)