我正在構建一個我希望生成統計數據的在線調查系統。我希望根據用戶的性別進行查詢。我有以下表格: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。
我不知道我要去的地方錯了。請幫忙。
在此先感謝。