1

请帮助我查询。我在 DBMS 方面很薄弱。

我有一个表TBLParent,其中有如下几行

pkParentId   FKProductId     Name
  1              5             P1
  2              5             P2
  3              3             P3

我有另一张桌子TBLChild,里面有它的孩子

pkId     fkParentId    ChildName
 1            1          C1
 2            1          c2
 3            2          c1

现在,问题是我想要基于productId.

例如:我想

select 
    TBLParent.pkParentId, TBLParent.FKProductId, 
    TBLParent.Name, 
    count of its children
where   
    TBLParent.FKProductId = 5   

我试过这样

Select 
    count(TBLChild.pkId) AS total, 
    TBLChild.fkParentId    
from  
    TBLChild 
group by 
    TBLChild.fkParentId  

但是我怎样才能用这个计数附加父表的记录呢?

这会给我计数,但我将如何将父记录附加到此计数。我的意思是说输出将是

pkParentId   Name      Count
  1           P1         2
  2           P2         1

请帮忙请帮忙请帮忙?

4

1 回答 1

1
SELECT P.pkParentId
      ,P.Name
      ,COUNT(*)
FROM tblParent P
INNER JOIN tblChild C ON P.pkParentId = C.fkParentId
WHERE P.pkParentId = @yourValueHere
GROUP BY P.pkParentId, P.Name
于 2013-04-24T14:00:22.100 回答