如何在mysql中匹配逗号分隔的值并获取值

用户名

我的表用户

+----+-----------+---------+--------+---------+------+-------+
| id | name      | email   | number | call_no | chek | Extra |
+----+-----------+-------+----------+---------+------+-------+
|  1 | one       | [email protected] | 123    | 1164    |    1 | 1,2   |
+----+-----------+---------+---------+---------+------+------+
|  2 | two       | [email protected] | 123    | 1164    |    1 | 2,1   |
+----+-----------+---------+---------+---------+------+------+

我有一个叫它Extra包含值的字段1,2

我的问题是什么?

我需要像one,two从用户表中匹配表ID和myresult中的1,2

对于简单的示例query.what我尝试在下面?

select name from user Extra in('1,2');

我的预期输出是

one,two

如果我尝试做爆炸,如果我在循环中运行它,我可以得到结果,但是我需要这样做,sql有可能得到它吗?

戈登·利诺夫(Gordon Linoff)

您应该有一个单独的表格,id每个表格一行,每个的值extra这称为联结表。SQL具有很好的数据结构来存储事物列表,称为而不是字符串而且,将数字存储为字符甚至更糟。

但是,您可以使用join和聚合执行您想要的操作

select id, group_concat(e.name) as names
from table t left join
     table e
     on find_in_set(t.id, e.extra) > 0
group by t.id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在bash中对逗号分隔的值进行排序?

如何在Notepad ++中垂直对齐逗号分隔的值?

查询以逗号分隔的varchar中的选定值获取值

如何在python中获取以逗号分隔的数字组?

如何从两行获取mysql数据并通过加入逗号分隔的值在单行中显示它们?

如何在MySQL的单行中获取以逗号分隔格式存储的图像?

如何使用LINQ从列表中获取逗号分隔的值列表?

如何在PostgreSQL中逐行存储逗号分隔的值

Jmeter,如何在jmeter中传递逗号分隔的多个值

匹配逗号分隔值中的数字并计数

如何在Javascript中用逗号分隔值匹配数组?

如何将逗号分隔值与MySQL中的其他列匹配

如何在Excel中获取逗号分隔的值?

如何在symfony2中获取逗号分隔值表格?

如何在MYSQL IN条件下使用存储在变量中的逗号分隔值?

如何在变量中获取行并用逗号分隔值?

在MySQL中以逗号分隔的行中获取不同值的计数

如何在单列中显示多个用逗号分隔的值?

如何从mysql存储过程或函数中获取Concat逗号分隔的值?

如何在MySQL中用逗号分隔的值检查值?

Oracle SQL-如何在用逗号分隔的值的列中查找匹配项?

如何在angular2中使用FormControl从INPUT标签中获取逗号分隔值?

如何在 SQL 中以逗号分隔的行存储列值

使用 Linq 从具有逗号分隔值的列中获取值

mysql join从逗号分隔值中获取列值

如何在 MySQL 中查询以逗号分隔的字符串值?

如何使用SQL获取单列中以逗号分隔的值

如何在表单中显示逗号分隔值

如何在 mvc 列表中显示逗号分隔值