我想从数据库字段搜索多个值。以下是我的查询。
SELECT * FROM `tablename`
WHERE FIND_IN_SET('12,13,15,15',category_id)
我如何搜索它对我不起作用。
FIND_IN_SET()
只能用于搜索逗号分隔列表中的单个值,它不适用于两个列表。
您需要为每个值单独调用它。
SELECT * FROM tablename
WHERE FIND_IN_SET('12', category_id) OR FIND_IN_SET('13', category_id) OR FIND_IN_SET('15', category_id)
如果您标准化架构而不是使用逗号分隔的列表,那就更好了。如果您使用类别 ID 创建多对多表,您可以执行以下操作:
SELECT t1.*
FROM tablename AS t1
JOIN item_categories AS c ON t1.id = c.table_id
WHERE c.category_id IN (12, 13, 15)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)