如何使用PHP / MYSQL中单个表中的特定值来获取包含多个值的多个列

时间:2016-06-30 09:12:39

标签: php

我想使用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编码。 请帮助我。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您以相同的方式存储数据,只需在要过滤的值之后的空格就可以正常工作,就像这样 “SELECT Name FROM table where s_id like'%1%'”

答案 1 :(得分:0)

试试这个REGEXP '[[:<:]]1[[:>:]]'

"SELECT Name FROM table where s_id REGEXP '[[:<:]]1[[:>:]]'"