我正在构建一个我希望生成统计数据的在线调查系统。我希望根据用户的性别进行查询。我有以下表格:SQL连接多个表
- survey_question_options
- survey_answer
- 用户
我已经构建了以下查询,以便它带回那里有这个问题没有答案空响应:
SELECT COUNT(sa.option_id) AS answer , so.option_label
FROM survey_answer sa
RIGHT JOIN survey_question_options so
ON sa.option_id = so.option_id AND
sa.record_date>='2011-09-01' AND
sa.record_date<='2012-08-01'
LEFT JOIN users u
ON (sa.uid = u.uid AND u.gender='F')
WHERE so.question_id=24
GROUP BY so.option_label
ORDER BY so.option_id ASC
我的查询返回的结果如下设置:
0 Red
1 Yellow
0 Blue
0 Green
但是,查询中忽略了LEFT JOIN中的性别条件。当我将性别更改为'M'时,返回相同的结果。但是,对于一切,预期的结果将是0。
我不知道我要去的地方错了。请帮忙。
在此先感谢。