加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL拆分并加入值

发布时间:2021-03-31 10:47:10 所属栏目:MySql教程 来源:网络整理
导读:我有一个表[mapping]与2列类似于下面 id | values1 | 1,22 | 1,2,33 | 1,14 | 1,1,2 和另一个表[map]类似于此 sno | values1 | Test2 | Hello3 | Hai 我的预期产量是 id | values1 | Test,Hello2 | Test,Hello,Hai3 | Test,Test4 | Test,Test,Hello 可能吗?

我有一个表[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放在一个单独的记录中!

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读