请教关于无限分类表中,计算该分类以及所有子分类的文章数量问题
请教大牛
表结构如下:
Id ParentId ClassName Path NewsCount
1 0 国内新闻 210
2 1 娱乐新闻 |1| 100
3 0 国外新闻 140
4 3 美国新闻 |3| 20
5 4 纽约新闻 |3||4| 20
NewsCount是统计新闻表中的该分类和其所有子分类的新闻总数量。
比如求分类Id为1的NewsCount,那就是统计新闻表中分类id为1和2的新闻总数(假设分类id为1的新闻为110条,分类id为2的新闻为100条,那么NewsCount就是210)。
描述有点乱。。。
现求update,以下语句是统计每个分类的新闻条数,不包含子分类的,现我想用一条语句统计(包含子分类)。
update tb_Class set NewsCount=(select count(News_Id) from tb_News where tb_News.ClassId=tb_Class.Id)
谢谢各位
------解决方案--------------------update tb_Class
set NewsCount=(select count(News_Id)
from tb_News
where tb_News.ClassId=tb_Class.Id
or tb_News.ClassId IN(SELECT id FROM tb_Class t WHERE CHARINDEX('
------解决方案--------------------'+tb_Class.Id+'
------解决方案--------------------',t.[Path])0>))