Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql语句不适用于和(…或…或…)_Sql - Fatal编程技术网

sql语句不适用于和(…或…或…)

sql语句不适用于和(…或…或…),sql,Sql,这可能是一件小事 但我尝试使用以下sql语句: SELECT * FROM Colors WHERE colorHueWarmth < 0 AND colorV >=0.7 AND (fk_subCategory=4 OR fk_subCategory=5 OR fk_subCategory=11) 在结果中,我得到了完美的colorHueWarmth和colorV,但我也得到了fk_子类别,其他值不是4,5或11 我试着改变值,但没有结果,甚至有可能做这样的声明吗 有人知道

这可能是一件小事

但我尝试使用以下sql语句:

SELECT * FROM Colors 
WHERE colorHueWarmth < 0 
AND colorV >=0.7 
AND (fk_subCategory=4 OR fk_subCategory=5 OR fk_subCategory=11)
在结果中,我得到了完美的colorHueWarmth和colorV,但我也得到了fk_子类别,其他值不是4,5或11

我试着改变值,但没有结果,甚至有可能做这样的声明吗

有人知道我做错了什么吗


提前感谢

您实际上有多种选择;虽然我要指出,你的问题中的查询实际上对我有效,看到了吗

您将在网上找到大量关于LIKE条款的文档,以下是一些您可能会觉得有用的文档:

注:W3Schools不能总是以表面价值来看待,而且由于它们经常包含错误/遗漏,因此经常被排除在建议链接之外
考虑到外键约束4、5或11的大小,IN子句是一个合理的选项,如果您有其他查询使用类似于大型集合的内容,那么这可能会变得非常低效,在这种情况下,您可以创建一个临时表,其中包含ID和内部连接

尝试在4,5,11中使用fk_子类别,尽管它应该可以按您现有的方式工作…您可以添加样本数据和样本输出吗?您可以发布一个带有一些样本数据的SQLFIDLE吗?你的问题看起来很好,我无法重现这个问题。另外,您使用的是什么数据库管理系统?您使用的是什么数据库?您可能需要添加一些圆括号来强制执行预期的操作员先例。谢谢Mihai!这就解决了问题
SELECT 
    * 
FROM 
    Colors 
WHERE 
    colorHueWarmth < 0 
    AND colorV >=0.7 
    AND (fk_subCategory=4 OR fk_subCategory=5 OR fk_subCategory=11)
SELECT 
    * 
FROM 
    Colors
WHERE 
    colorHueWarmth < 0 
    AND colorV >=0.7 
    AND (fk_subCategory IN(4,5,11));