右连接无法返回第二个表中的所有行

  • 本文关键字:第二个 连接 返回 mysql
  • 更新时间 :
  • 英文 :


我的代码没有返回选票表中没有投票的所有候选人。它应该返回所有投票或未投票的候选人的详细信息。但是如果我从查询中删除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_idtbody><<tr>1所罗门12addai1

使用这个查询,您将得到预期的结果:

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

相关内容

最新更新