【发布时间】:2013-09-10 08:49:40
【问题描述】:
我有一个名为“Offres”的 sql 表
在此表中,名为“regions”的列中包含数组 (value1, value2, value3,...)
第 1 行:“35,2,15,69,98”
第 2 行:“7,9,15,5,69”
第 3 行:“7,3,45,5,6”
如何同时搜索具有多个值的行
对于 exp :我想搜索其中包含 15,69 的行
结果应显示 row1 和 row2
谢谢
【问题讨论】:
-
你可以在你的sql查询中使用like
-
这是一个集合列还是一个带有逗号分隔值的实际 varchar?对于后者,您可以在 select 语句中使用类似比较,否则请在此处查找对 set-columns 的操作dev.mysql.com/doc/refman/5.1/en/set.html
-
您可以尝试使用正则表达式(这也可以解决下面用 LIKE 描述的所有问题),但这会减慢您的查询速度。像juergen d 描述的那样转换您的表结构,并了解有关database normalization 的一些信息。这将解决您的问题。