我的代码没有返回选票表中没有投票的所有候选人。它应该返回所有投票或未投票的候选人的详细信息。但是如果我从查询中删除COUNT(choice) as votes
,它就可以完美地工作。我如何在添加COUNT(choice) as votes
的同时获取那些没有投票和投票的详细信息?
SELECT candidates.name as cname,COUNT(choice) as votes
FROM ballots
RIGHT JOIN candidates
ON candidates.id = ballots.candidate_id
WHERE candidates.position_id ='1'
GROUP BY ballots.candidate_id
ORDER BY votes DESC
<<h4>候选人表/h4><表类>id 名称 Position_id tbody><<tr>1 所罗门 1 2addai 1 表类>
使用这个查询,您将得到预期的结果:
select candidate.name as voter_id, (select count(ballots.choice) from ballots WHERE ballots.candidate_id=candidate.id) as votes FROM candidate left JOIN ballots ON candidate.id = ballots.candidate_id WHERE candidate.position_id=1