我想使用PHP / MYSQL中单个表中的特定值来获取包含多个值的多个列。
我的表结构就像,
id | Name | s_id |
-----------------------------
1 | aaa | 3 10 13 |
2 | bbb | 1 2 5 8 16 23 |
3 | ccc | 1 3 11 19 25 |
4 | ddd | 7 15 19 25 |
5 | eee | 5 13 16 21 |
我的查询是,
"SELECT Name FROM table where s_id like '%1%'"
我应该得到输出,
bbb
ccc
但我得到的所有名称'id'的值都为'1'
,i.e. 1, 11, 19, 16, etc.
我的代码和表结构应该更改什么?我需要使用任何分隔符吗?我在PHP编码。
请帮助我。
提前谢谢。
答案 0 :(得分:0)
如果您以相同的方式存储数据,只需在要过滤的值之后的空格就可以正常工作,就像这样 “SELECT Name FROM table where s_id like'%1%'”
答案 1 :(得分:0)
试试这个REGEXP '[[:<:]]1[[:>:]]'
"SELECT Name FROM table where s_id REGEXP '[[:<:]]1[[:>:]]'"