Mysql逗号将列匹配与另一个表分开

时间:2012-04-04 21:30:58

标签: php mysql

我想从table2中的逗号列中选择所有匹配项,其中列可以是这样的:0,1,2或2,4,5或2,5或1,3,5等。

我尝试过:

SELECT * from table where 1,3,5 IN(SELECT commaseparated FROM table2) WHERE ..

但使用逗号时语句出错。

我也尝试过使用REGEXP,但在我的情况下,我需要搜索1,3,5内的所有匹配

我该如何解决这个问题? :)

1 个答案:

答案 0 :(得分:3)

在标准SQL中无法做到这一点。它

   WHERE singlevalue IN (list, of, values)

如果要将列表与列表进行比较,则应修改表格以使其正确标准化。在字段中存储格式化数据基本上否定了拥有关系数据库的目的 - 如果数据不是允许形成关系的格式,则无法与数据建立关系。

如果这些CSV列表在子表中,您可以执行非常简单的JOIN查询以满足您的规范。