0
不知道我的逻辑在这一个正常工作。我有一个表Documents
,它具有每个项目的唯一ID和文档的名称。然后,我有另一个表DocVotes
存储在文档上(每个记录一个表决)用户投票有一个字段Vote
它是(YES为1和0否)BOOL
。MySQL连接查询COUNT意外的结果
我想检查是否有特定的用户MemberID
对文档之前投票,显然你不能对自己的文件进行表决
这里(排除AuthorID
选中)我想
SELECT d.ID, d.Name, COUNT(dv.MemberID)
FROM Documents AS d
LEFT JOIN DocVotes AS dv ON dv.ItemID=d.ID
AND dv.MemberID=32
WHERE d.Status = 'Proposed'
AND d.AuthorID<>32
我觉得它应该做的:获取ID
,Name
和计数由MemberID
(32在这种情况下)投票的数目,然后简单地检查计数,如果计数为0,那么这将意味着,用户还没有投票,如果1吨他们有(你只能投一次)。
但是我找回,但只有1票投了这个用户的这个特定文档上的6计数。所以,很显然,这是计算更多的只是该条目......(我只得到1排回)
的思考?
您可能需要1)小提琴,所以我们可以检查2)'集团BY' – fedorqui 2013-03-19 05:13:05
我其实只是试过了,我得到了6行并获得了预期的结果。我遗漏了'GROUP BY d.ID',现在效果很好。总是很明显,让我们......谢谢。 – SnareChops 2013-03-19 05:16:06
好!我把它放在答案中,以便可以将问题标记为已回答。 – fedorqui 2013-03-19 05:18:13