我试图从MySQL的问题表中获取一些行,如下所示:
SELECT *
FROM raise_question
where documentID = '1'
and delReq != 1 OR delReq IS NULL
但是,某些行具有不同的
documentID
。 (请看图片)。这是一种正确的方法(使用HAVING
而不是AND
)返回我想要的结果(因为它仅包含特定的documentID
):SELECT *
FROM raise_question
where documentID = '1'
having delReq != 1 OR delReq IS NULL
使用AND查询返回:
使用“我想要”后的预期结果(仅包含一个documentID)是这样的:
最佳答案
您的WHERE
转换为
where (documentID = '1'
and delReq != 1) OR delReq IS NULL
,因为
AND
的优先级高于OR
在您的
OR
语句中放入括号。where documentID = '1'
and (delReq <> 1 OR delReq IS NULL)