Я строю форум. Теперь я хотел бы создать запрос, который возвращает количество реакций на каждый пост. Реакция определяется как все посты под определенным постом. Я хотел бы использовать CTE для достижения этой цели.
Так что тариф у меня есть:
;WITH Reaction(Cnt, ParentId) AS
(
SELECT COUNT(*), ParentId
FROM dbo.Post
GROUP BY ParentId
)
SELECT ISNULL(Cnt, 0), Post.*
FROM dbo.Post Post
LEFT JOIN Reaction
ON Reaction.ParentId = Post.PostId
Это список всех «прямых» сообщений. Теперь я должен заставить этот запрос подсчитать все дерево, но я застрял. Я немного читал о CTE и знаю, что вы можете делать рекурсивные запросы, но я не знаю, как решить проблему создания рекурсивного запроса, который имеет значение.