问题描述
|
SELECT
COUNT(*) AS TotalUserVotes
FROM tblArticleVotes AS v
INNER JOIN tblArticles AS a
ON v.ArticleID = a.ID
AND a.AuthorID = 13405
它总是返回0。我有一个表tblArticles
,其中有AuthorID
和ID
(文章的主键)。
然后,我有一个带有ѭ4with列的文章投票表。
给定用户13405
,我需要找出他们所有文章的投票数!
只是为了确认,ѭ6中当前有一条记录,其商品ID为ѭ7。文章ID 5的作者ID为13405。
解决方法
嗯... JOIN中的AuthorID看起来很奇怪...也许效果更好?
SELECT COUNT(*) AS TotalUserVotes
FROM tblArticleVotes AS v INNER JOIN
tblArticles AS a ON v.ArticleID = a.ID
WHERE a.AuthorID = 13405
, 尝试将\“ AND \”更改为\“ WHERE \”:
SELECT COUNT(*) AS TotalUserVotes
FROM tblArticleVotes AS v INNER JOIN
tblArticles AS a ON v.ArticleID = a.ID WHERE a.AuthorID = 13405
高温超导
, 您的查询没有错。要排除故障,请中断查询。
DECLARE @ArticleID int
SELECT @ArticleID = a.ID FROM tblArticles a WHERE a.AuthorID=13405
PRINT @ArticleID
SELECT * FROM tblArticleVotes where ArticleID=@ArticleID
, 试试这个代替:
SELECT a.AuthorID,COUNT(v.id) as votes
FROM tblArticles AS a
LEFT JOIN tblArticleVotes AS v ON a.ID = v.ArticleID
GROUP BY a.ID
WHERE a.AuthorID = :author_id