来自JOIN的行数

时间:2013-06-11 14:02:31

标签: c# sql-server-2005

{
SELECT tp.ProjectID, tp.ProjectName, tp.ProjectDescription, tp.Developer, 
       tp.Owner, tp.StartDate, tp.CloseDate, tp.ProjectStatus, tp.CompletionPct, 
       Count(tb.ProjectID) as 'NumberofBugs'
FROM tblBTProject tp
LEFT JOIN tblBTBugs tb ON tp.ProjectID = tb.ProjectID
GROUP BY tp.ProjectID, tp.ProjectName, tp.ProjectDescription, tp.Developer, 
         tp.Owner, tp.StartDate, tp.CloseDate, tp.ProjectStatus, tp.CompletionPct
}

有没有更好的方法来写这个? 我正在加入2个表(tblBTProject tp& tblBTBugs tb)。在tblBTBugs tb中有多个ProjectID,并尝试返回多个项目ID计数的列

由于

1 个答案:

答案 0 :(得分:1)

这是如何从tblBTBugs

获取所有不同的项目
 SELECT COUNT(DISTINCT(ProjectID)) FROM tblBTBugs

这就是如何获取tblBTBugs中每个项目的数量

SELECT ProjectID, COUNT(ProjectID) 
FROM tblBTBugs
GROUP BY ProjectID

或者如果您想要所有列

SELECT * FROM tblBTBugs
WHERE ProjectID IN (SELECT ProjectID 
                    FROM (SELECT ProjectID, COUNT(ProjectID) 
                          FROM tblBTBugs
                          GROUP BY ProjectID))