当前位置: 代码迷 >> ASP.NET >> 无限分类 查询有关问题
  详细解决方案

无限分类 查询有关问题

热度:7926   发布时间:2013-02-25 00:00:00.0
无限分类 查询问题
id, pid, ReportToDepth,ReportToPath
1 0 0 /1/
2 0 0 /2/
5 2 1 /2/5/
30 2 1 /2/30/
6 5 2 /2/5/6/
9 6 3 /2/5/6/9/
17 9 4 /2/5/6/9/17/
16 17 5 /2/5/6/9/17/16/
4 1 1 /1/4/
10 4 2 /1/4/10/


 id, imgTypeId, imgName
1 1 测试2
3 2 测试2
5 4 测试2
8 5 测试2
2 5 测试2
13 5 测试2
14 6 测试2
11 6 测试2
7 6 测试2
12 9 测试2
4 9 测试21
第一张表 类别表imgType(编号,父类编号,深度,包含类别编号)
第二张表 信息表imgInfo (编号,类别编号,图片名称)
查询:根目录(pid=0) 所包含的类别个数,所包含类别(包括子类)下面的图片数量
要求结果
id类别ID pid 包含的类别个数 图片数
1 0 2 2
2 0 5 9

------解决方案--------------------------------------------------------
探讨

:( 不是吧 就是实现无限级分类 查询
查询根目录(pid=0)下所包含的类别个数,所包含(包括子类)下面的图片数量

------解决方案--------------------------------------------------------
C# code
select a.id,b.pid,(select count(0) from imgType c where c.ReportToPath like '%/'+CONVERT(varchar(2),b.id)+'/%') typeCount,(select COUNT(0) from imgInfo d where d.typeId in (select ID from imgType where c.ReportToPath like '%/'+CONVERT(varchar(2),b.id)+'/%')) imgCount,from imgInfo a inner join imgType b on (a.typeid=b.id)
  相关解决方案