Проблема с выборкой в подсчете голосов

imaster

Новичок
Проблема с выборкой в подсчете голосов

Помогите написать зопрос.
Эти типичная выборка в подсчете голосов.

//----- таблица содержит названия вариантов ответа ----
CREATE TABLE `poll_answers` (
`Id` int(10),
`Answer` varchar(255),
}

//----- таблица содержит данные о голосующем ----
CREATE TABLE `poll_results` (
`AnswerId` int(10),
. . .
}

Вот мой запрос:
select count(*) from poll_results r, poll_answers a where r.AnswerId = a.id group by a.Id

Но проблема в том, что если за какой-нибудь вариант еще никто не голосовал, то в выборке его вообще нет, а должно возвращать 0.
 

imaster

Новичок
Все-равно не выходит!!!

select a.Answer, count(r.Id), a.color
from poll_results r RIGHT JOIN poll_answers a ON r.AnswerId = a.Id
where r.pollId=1 and a.pollId=1
group by a.Id

-~{}~ 06.05.05 15:08:

sorry, перепишу
select a.Answer, count(r.Id), a.color
from poll_results r RIGHT JOIN poll_answers a ON r.AnswerId = a.Id
group by a.Id

-~{}~ 06.05.05 15:14:

ни LEFT JOIN ни RIGHT JOIN не работает

-~{}~ 06.05.05 15:37:

Все вышло. Admin - спасибо.
 

chira

Новичок
Код:
select a.Answer, count(*) as cn_ans, a.color 
from poll_answers a LEFT JOIN poll_results r ON r.AnswerId = a.Id AND r.pollId=1
where a.pollId=1
group by a.Id
 
Сверху