0

サブカテゴリを含むすべてのカテゴリのイベント数を取得するために再帰クエリを使用しようとしています。ContentTabs (階層テーブル)、Events、および中間テーブル RelEventsToContentTabs の 3 つのテーブルがあるため、単純な多対多の関係です。問題は、以下のようなクエリを使用すると、すべてのカテゴリのイベント数が取得されますが、サブカテゴリのイベント数は取得されません。SQL Server 2008 を使用しています。

WITH ContentTabsStructure (Id, Name)
AS
(
    SELECT Id, Name,parentId FROM ContentTabs 
    WHERE Id =1
    UNION ALL
    SELECT ct.Id, ct.Name,ct.parentId FROM ContentTabs AS ct
    INNER JOIN ContentTabsStructure AS cts
    ON ct.ParentId = cts.Id
)
    SELECT cts.id,cts.Name, Count(distinct e.id) as NumberOfEvents 
            FROM ContentTabsStructure cts
            INNER JOIN RelEventsToContentTabs etct
            ON cts.id = etct.contentTabId
            INNER JOIN Events e
            ON etct.eventId = e.id
            GROUP BY cts.id,cts.Name
4

1 に答える 1