2013-07-03 39 views
0

如果计数为0,如何返回0作为与PossibleAnswerText响应?现在它不会返回任何东西。返回0与SQL查询而不是什么

select 
    COUNT(sr.Id) AS 'Responses', qpa.PossibleAnswerText 
from 
    CaresPlusParticipantSurvey.QuestionPossibleAnswer as qpa 
join 
    CaresPlusParticipantSurvey.SurveyResponse as sr on sr.QuestionPossibleAnswerId = qpa.Id 
where 
    sr.QuestionPossibleAnswerId = 116 
GROUP BY 
    qpa.PossibleAnswerText 
+1

如果它什么都没有返回,那么sr.QuestionPossibleAnswerID = 116 –

+0

没有记录使用left join ?. –

+0

左连接没有工作,已经试过了。我知道没有记录,这就是为什么我想显示0. – user1202606

回答

1

你需要使用LEFT JOIN,并删除从WHERE子句中的“最右”表中的条件;

SELECT COUNT(sr.Id) AS 'Responses', qpa.PossibleAnswerText 
FROM CaresPlusParticipantSurvey.QuestionPossibleAnswer AS qpa 
LEFT JOIN CaresPlusParticipantSurvey.SurveyResponse as sr 
    ON sr.QuestionPossibleAnswerId = qpa.Id 
WHERE qpa.Id = 116 
GROUP BY qpa.PossibleAnswerText 
+0

我只想要一个结果,计数和文本。该查询带回多行 – user1202606

+0

@ user1202606编辑答案。 –

+0

工作,更改where子句中的表。谢谢 – user1202606

相关问题