mysql 如何查询指定的多个以逗号分割值是否在以逗号分隔的数据中
比如有个table1的表,里面有一栏叫 tag ,tag中的数据为
tag
——
34,2
10
10,34
10,2
10,34,2
查询条件 tag 为34,10的时候 只要求查询出 第二条(10)和第三条(10,34)的记录,
tag为为10,2的时候 只要求查询出 第二条(10)和第四条(10,2)的记录,SELECT * FROM table1 WHERE (FIND_IN_SET(34,tag) OR FIND_IN_SET(10,tag))SELECT * FROM table1 WHERE tag IN (34,10)LOCATE、REGEXP函数和方法都用了,没能找到一个合适的解决办法
多谢~~~
比如有个table1的表,里面有一栏叫 tag ,tag中的数据为
tag
——
34,2
10
10,34
10,2
10,34,2
查询条件 tag 为34,10的时候 只要求查询出 第二条(10)和第三条(10,34)的记录,
tag为为10,2的时候 只要求查询出 第二条(10)和第四条(10,2)的记录,SELECT * FROM table1 WHERE (FIND_IN_SET(34,tag) OR FIND_IN_SET(10,tag))SELECT * FROM table1 WHERE tag IN (34,10)LOCATE、REGEXP函数和方法都用了,没能找到一个合适的解决办法
多谢~~~
然后插入带有逗号分隔的测试数据
INSERT INTO test(tag) VALUES('34,2');
INSERT INTO test(tag) VALUES('10');
INSERT INTO test(tag) VALUES('10,34');
INSERT INTO test(tag) VALUES('10,2');
INSERT INTO test(tag) VALUES('10,34,2');
ok,满足需求,一次搞定