Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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
Mysql 多个where子句使用OR,不使用AND_Mysql_Sql - Fatal编程技术网

Mysql 多个where子句使用OR,不使用AND

Mysql 多个where子句使用OR,不使用AND,mysql,sql,Mysql,Sql,首先,我不是一个SQL专家,所以我可能遗漏了一些括号或其他一些愚蠢而简单的东西;-) 任何人都可以告诉我为什么这样做并返回4行: SELECT ppa.products_id FROM products_propattributes ppa WHERE ( (options_id = "11" AND options_values_id = "18") OR (options_id = "4" AND options_values_id = "4") ) 这一行不匹配,但它应该匹配1行:

首先,我不是一个SQL专家,所以我可能遗漏了一些括号或其他一些愚蠢而简单的东西;-)

任何人都可以告诉我为什么这样做并返回4行:

SELECT ppa.products_id FROM products_propattributes ppa 
WHERE ( (options_id = "11" AND options_values_id = "18") 
OR (options_id = "4" AND options_values_id = "4") )
这一行不匹配,但它应该匹配1行:

SELECT ppa.products_id FROM products_propattributes ppa 
WHERE ( (options_id = "11" AND options_values_id = "18") 
AND (options_id = "4" AND options_values_id = "4") )
任何帮助都将不胜感激! 提前谢谢


Bas在第二个查询中只有
s,因此
选项\u id=“11”
选项\u id=“4”
不可能都匹配


当然,
options\u-values\u-id=“18”
options\u-id=“4”
第二次查询也是一样的,它查找
options\u-id=“11”
options\u-id=“4”
所在的行。这是不可能的,因为
options\u id
列云只有一个值。

因为每行的一列中只能有一个可能的值。如果要使用
获取同时具有两个条件的
ID
,则返回true

SELECT ppa.products_id 
FROM products_propattributes ppa 
WHERE (options_id = "11" AND options_values_id = "18") OR 
      (options_id = "4" AND options_values_id = "4") 
GROUP BY ppa.products_id
HAVING COUNT(*) = 2