2013-04-06 26 views
-2

我新的SQL Server和我得到了我困惑的一個問題記錄數。的SQL Server 2008:計數的存儲類別

我有2個數據表CategoryProduct。下面是詳細的表格。

類別

------------------------------------------------------ 
categoryId | categoryName  | desc 
------------------------------------------------------ 
1   | Shirt    | Men's Shirt 
2   | Jeans    | Men's Pants 
3   | Accessories  | Women's Accessories 
------------------------------------------------------ 

產品

--------------------------------------------------------------- 
productID | desc      | categoryId 
--------------------------------------------------------------- 
1   | Slim-fit Classic Shirt | 1 
2   | Denim Slim-fit jeans  | 2 
3   | Denim Regular-fit jeans | 2 
4   | Bracelet     | 3 
--------------------------------------------------------------- 

我怎樣才能得到確切的輸出如下?

------------------------------------------------------------------- 
categoryId | categoryName  | numOfRecord | desc 
------------------------------------------------------------------- 
1   | Shirt    | 1   | Men's Shirt 
2   | Jeans    | 2   | Men's Pants 
3   | Accessories  | 1   | Women's Accessories 
------------------------------------------------------------------- 

對不起,我英文很差。

+2

這個問題並沒有表現出任何的研究工作。 **做你的作業很重要**。告訴我們你發現了什麼,***爲什麼它不符合你的需求。這表明你已經花時間去嘗試幫助你自己了,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案。 [FAQ](http://stackoverflow.com/questions/how-to-ask)。 – Kermit 2013-04-06 18:12:30

回答

1

您可以使用COUNTGROUP BY

試試這個:

SELECT c.categoryId, c.categoryName, count(*) as numOfRecord, p.[desc] 
FROM dbo.Category AS c INNER JOIN dbo.Product AS p 
ON c.categoryId = p.categoryId 
GROUP BY c.categoryId, c.categoryName, p.[desc];