Я создаю систему онлайн-опроса, для которой я хочу создать статистику. Я хочу получить запрос на основе пола пользователя. У меня есть следующие таблицы: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, по-видимому, игнорируется в запросе. Когда я меняю пол на «М», возвращается тот же результат. Однако ожидаемый результат будет 0 для всего.
Я не уверен, где я ошибаюсь. Пожалуйста помоги.
Заранее спасибо.