SELECT * FROM ptsurvey.survey s
WHERE (s.companyid = 1 AND s.groupid = 34 AND s.status=1 AND s.creatoruid =286)
OR
(AND s.groupid = 34 AND s.status=2 AND s.status = 1));
我想在mysql中检查这样的情况。此查询无效。
答案 0 :(得分:1)
摆脱额外的“AND”并关闭paren ......
SELECT *
FROM
ptsurvey.survey s
WHERE
( s.companyid = 1
AND s.groupid = 34
AND s.status = 1
AND s.creatoruid = 286 )
OR
( s.groupid = 34
AND s.status=2
AND s.status = 1);
此外,你的第二个子句部分(OR)方面,你正在测试两个s.Status = 2 AND s.Status = 1这将永远不会是真的......我认为你的意思是只测试一个状态对于这个元素。
答案 1 :(得分:0)
在SQL中,您需要在打开时关闭尽可能多的括号(不要少,不要多)。