要比较两个以逗号分隔的列值的MySQL查询,可以使用MySQL的内置函数FIND_IN_SET。
以下是一个包含代码示例的解决方法:
SELECT *
FROM table
WHERE FIND_IN_SET('value1', column1) > 0
AND FIND_IN_SET('value2', column2) > 0;
在这个例子中,我们假设有一个名为"table"的表,其中有两个以逗号分隔的列"column1"和"column2"。我们想查找同时包含"value1"和"value2"的行。
通过使用FIND_IN_SET函数,我们可以判断"value1"是否在"column1"中,并且"value2"是否在"column2"中。如果返回的结果大于0,则表示找到了匹配的值。
注意:这种数据模型设计方式(将多个值存储为一个字符串并使用逗号分隔)违反了数据库的规范化原则,并且在查询和维护方面可能会带来困难。如果可能的话,建议将这种设计改为使用关系型数据库的规范形式。
下一篇:比较两个以逗号分隔的列。