gpt4 book ai didi

mysql - FIND_IN_SET 具有多个值

转载 作者:行者123 更新时间:2023-11-29 16:02:05 24 4
gpt4 key购买 nike

我想从数据库字段中搜索多个值。以下是我的查询。

SELECT * FROM `tablename` 
WHERE FIND_IN_SET('12,13,15,15',category_id)

我如何搜索它对我不起作用。

enter image description here

最佳答案

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)

关于mysql - FIND_IN_SET 具有多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56103170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com