前端之家收集整理的这篇文章主要介绍了
MySQL拆分并加入值,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
403_0@
我有一个表[mapping]与2列类似于下面
id | values
1 | 1,2
2 | 1,2,3
3 | 1,1
4 | 1,1,2
和另一个表[map]类似于此
sno | values
1 | Test
2 | Hello
3 | Hai
我的预期产量是
id | values
1 | Test,Hello
2 | Test,Hello,Hai
3 | Test,Test
4 | Test,Test,Hello
可能吗?如果是,请任何人可以为我建立一个查询.
您可以使用
MysqL FIND_IN_SET()
连接表和
GROUP_CONCAT()
来连接值:
SELECT s.sno,GROUP_CONCAT(s.values) as `values`
FROM mapping t
INNER JOIN map s ON(FIND_IN_SET(s.id,t.values))
GROUP BY s.sno
注意:您应该知道这是一个非常糟糕的数据库结构.这可能会导致更复杂的查询,并会迫使您过度复杂化.你应该Normalize你的数据,拆分它,并将每个ID放在一个单独的记录中!