подсчитывать строки в объединенной таблице, но отображать 0, если строк нет - mysql

Таблица заголовков ответов — это объединенная таблица, которая подсчитывается для отображения ответов на конкретный опрос. Если нет строк, следовательно, нет ответов, я хочу, чтобы счетчик отображал 0. Но вместо этого он пропускает строку, потому что параметр соединения (survey_id) не найден в таблице.

SELECT DATE_FORMAT(launched_date,'<nobr>%e-%b-%Y %H:%i:%s</nobr>'),
survey.NAME,
survey.iris_type,
survey.launched_by,
COUNT(response_header_2010.survey_id) AS response_count,
survey.survey_id,
survey.NAME 

FROM survey, response_header_2010

WHERE survey.STATUS='Live' 
AND survey.iris_type!='Recipient List'
AND response_header_2010.survey_id = survey.survey_id
AND client_id = '98'

GROUP BY  survey.survey_id, survey.NAME

ORDER BY response_count

person CrocHunter    schedule 13.01.2011    source источник


Ответы (1)


Вы хотите использовать ЛЕВОЕ СОЕДИНЕНИЕ вместо ВНУТРЕННЕГО СОЕДИНЕНИЯ, которое у вас есть в настоящее время.

SELECT DATE_FORMAT(launched_date,'<nobr>%e-%b-%Y %H:%i:%s</nobr>'),
survey.NAME,
survey.iris_type,
survey.launched_by,
COUNT(response_header_2010.survey_id) AS response_count,
survey.survey_id,
survey.NAME 

FROM survey
LEFT JOIN response_header_2010
    ON survey.survey_id = response_header_2010.survey_id
WHERE survey.STATUS='Live' 
AND survey.iris_type!='Recipient List'
AND client_id = '98'

GROUP BY  survey.survey_id, survey.NAME

ORDER BY response_count
person Joe Stefanelli    schedule 13.01.2011