Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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

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 返回错误值的SQL查询_Mysql_Sql - Fatal编程技术网

Mysql 返回错误值的SQL查询

Mysql 返回错误值的SQL查询,mysql,sql,Mysql,Sql,我正在进行筛选搜索,以便我可以进行查询,但其和部分未向我返回正确的值,其返回正确的gpa结果,但未给出正确的学位检查结果,因为其返回所有记录未应用“BSC”筛选查询代码如下: SELECT * FROM education WHERE gpa >= 2.10 OR gpa =0 AND degree = 'BSCS' OR degree = NULL 看起来您需要添加一些括号: SELECT * FROM education WHERE (gpa >= 2.10 OR gpa =0

我正在进行筛选搜索,以便我可以进行查询,但其和部分未向我返回正确的值,其返回正确的gpa结果,但未给出正确的学位检查结果,因为其返回所有记录未应用“BSC”筛选查询代码如下:

SELECT *
FROM education
WHERE gpa >= 2.10
OR gpa =0
AND degree = 'BSCS'
OR degree = NULL

看起来您需要添加一些括号:

SELECT *
FROM education
WHERE (gpa >= 2.10 OR gpa =0)
AND (degree = 'BSCS' OR degree is NULL)
如果要展开
WHERE
子句,可以使用:

SELECT *
FROM education
WHERE 
(
  (gpa >= 2.10 OR gpa =0)
  AND (degree = 'BSCS' OR degree is NULL)
)
OR
(
  (gpa is null or gpa ='')
  or (degree is null or degree = '')
) 
请尝试以下代码:

使用和/或条件时,请始终使用括号,以避免混淆。 另外,检查字段是否为null的最佳方法是
,其中myField为null

SELECT *
FROM education
WHERE (gpa >= 2.10 OR gpa =0 )
AND (degree = 'BSCS' OR degree is NULL)

@Juhana没有明白你的意思吗?你的查询要求BSC学位的gpa>=2.10或零gpa,或者根本没有学位。因此,只要gpa>=2.10,您的查询就不关心程度。如何修改我的查询it用户不应用gpa或程度筛选器,sql应返回所有记录?如何修改我的查询it用户不应用gpa或程度筛选器,sql应返回所有记录?@JunaidAkhtar您可以根据需要扩展
WHERE
子句您想要返回的内容,请参阅我对样本的编辑它不起作用您的上一个示例如果我输入空值,它应该返回整个record@JunaidAkhtar你能用一些样本数据编辑你的OP,然后得到想要的结果吗?@JunaidAkhtar我的建议是发布一个新问题,包括你需要查询做的所有事情。您现在请求查询做一些与原始帖子不同的事情。@Junaid Akhtar如果您对解决方案满意,请接受/投票。我的答案不是重复,而是有人更新了代码。。。。哈哈