4

我有下表

Id     | Userdefined01
------------------------
1      | 1,2,4,5
2      | 2,5
3      | 4,6,8
4      | 1,5

我想编写一个查询来查找 userdefined01 字段中所有值为 2 和 5 的 Id。那可能吗?

4

1 回答 1

10

使用FIND_IN_SET()-- mysql 的内置函数来搜索 CSV 中的字符串。

SELECT  *
FROM    tableName
WHERE   FIND_IN_SET('2', Userdefined01) > 0 AND
        FIND_IN_SET('5', Userdefined01) > 0 

如果您有时间更改架构,则需要对其进行非规范化。查看示例,它可能是Many-to-Many关系,因此您可以将其分解为 3 表设计。

于 2013-04-01T01:24:53.630 回答