-2

私は SQL Server を初めて使用し、困惑する質問を受けました。

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
-------------------------------------------------------------------

下手な英語でごめんなさい。

4

1 に答える 1

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];
于 2013-04-06T18:13:53.570 に答える