SQL-左外部联接的计数不正确
我试图从issue表中检索字段,同时从comment表和issue_assigneduser表中检索相关记录计数。如果有2条评论和6个指定用户,我得到的两个计数的值都是12。你知道怎么补救吗SQL-左外部联接的计数不正确,sql,Sql,我试图从issue表中检索字段,同时从comment表和issue_assigneduser表中检索相关记录计数。如果有2条评论和6个指定用户,我得到的两个计数的值都是12。你知道怎么补救吗 SELECT issue.issueid, COUNT(comment.commentid) AS CountOfComments, Count(issue_assigneduser.userid) as CountOfAssignedUsers, issue.title, issue.
SELECT issue.issueid, COUNT(comment.commentid) AS CountOfComments,
Count(issue_assigneduser.userid) as CountOfAssignedUsers,
issue.title, issue.detail, issue.enteredby,
issue.datetimeentered, issue.assignedto, issue.categoryid,
issue.severityid, issue.statusid,
issue.lastcommentdatetime as LastCommentDateTime,
issue.lastcommentbyuserid,
users.initials as LastCommentUserInitials,
lookupstatus.status as Status,
lookupcategory.category as Category,
lookupseverity.severity as Severity,
GetUTCDate() as UTCDateTime
FROM issue
INNER JOIN lookupcategory ON issue.categoryid = lookupcategory.categoryid
INNER JOIN lookupseverity ON issue.severityid = lookupseverity.severityid
INNER JOIN lookupstatus ON issue.statusid = lookupstatus.statusid
LEFT OUTER JOIN comment ON issue.issueid = comment.issueid
LEFT OUTER JOIN issue_assigneduser ON issue.issueid = issue_assigneduser.issueid
LEFT OUTER JOIN users ON issue.lastcommentbyuserid = users.userid
GROUP BY issue.issueid, issue.title, issue.detail,
issue.enteredby, issue.datetimeentered,
issue.assignedto, issue.categoryid,
issue.severityid, issue.statusid,
issue.lastcommentdatetime,
issue.lastcommentbyuserid,
users.initials, lookupstatus.status,
lookupcategory.category,
lookupseverity.severityid, users.initials,
lookupstatus.status, lookupcategory.category,
lookupseverity.severity
ORDER BY issue.lastcommentdatetime DESC;
使用COUNT(不同的字段名)
代替COUNT(字段名)
例如为用户
Count(DISTINCT issue_assigneduser.userid) as CountOfAssignedUsers
请注意,如果同一用户被分配了两次,则使用此方法只能计算一次。感谢您的警告。我的表格是这样设计的:同一个用户不能被分配两次。