我试图确定添加到其他分数较高的表中的低“分数”。简而言之,我想知道某人在单个问题上得分为1,而其他问题在2分以上的得分。我想到了这个
SELECT * FROM `review_survey`, `users` WHERE review_survey.user_id =users.kituser_id AND
(review_survey.s1 < 2 AND review_survey.s2 >= 2 AND review_survey.s3 >= 2 )
OR (safeguard_review_survey.s1 >= 2 AND safeguard_review_survey.s2 < 2
AND safeguard_review_survey.s3 >= 2) AND `complete` = 1 AND users.account = 1
但是它返回的海量数据集可能不准确。
我从哪里开始?
答案 0 :(得分:0)
首先,请先尝试以下操作:
SELECT * FROM
`review_survey`, `users`
WHERE
review_survey.user_id =users.kituser_id
AND ( --<-- missing parenthesis
(review_survey.s1 < 2 AND review_survey.s2 >= 2 AND review_survey.s3 >= 2 )
OR
(safeguard_review_survey.s1 >= 2 AND safeguard_review_survey.s2 < 2 AND safeguard_review_survey.s3 >= 2)
) --<-- missing parenthesis
AND `complete` = 1 AND users.account = 1
更好的是,随处移动东西
condition AND condition2 AND condition3 AND ( condition4 OR condition5)
截至目前,很可能AND和OR不能按您期望的那样工作