http://q.cnblogs.com/q/39658/
关于无限级分类数据库表结构设计问题,遍历某分类下所有产品 效率
数据库表结构是这样的:
[Category] 类别表
Id(int) 类别Id
ParentId(int) 父类Id
Name(nvarchar(50)) 类别名称
[Product] 产品表
Id(int) 产品名称
Name(nvarchar(50)) 产品名称
CategoryId(int) 类别Id(对应 [Category].Id)
Info(ntext) 介绍信息
……
[Category] 类别表数据
Id ParentId Name
1 0 服装
2 1 男装
3 2 衬衫
4 2 长裤
5 2 短裤
6 2 T恤
7 2 外套
8 2 卫衣
9 2 西装
10 4 休闲裤
11 4 西裤
12 4 牛仔裤
13 4 运动裤
[Product] 产品表数据 不再一一举例
Id Name CategoryId Info
1
2
3
……
=======================================================遍历如下
Id ParentId Name Path
1 0 服装 ,1,
2 1 男装 ,1,2,
3 2 衬衫 ,1,2,3,
4 2 长裤 ,1,2,4,
5 2 短裤 ,1,2,5,
.....
select * from [Product] p where p.CategoryId in(select Id from [Category] c where c.path like (select path from [Category] where Id=2) + '%' )
一张表:
商标类别 商标类别名称 父类
1 商标大类 0
2 商标二本类1 1
3 商标二本类2 1
4 商标二本类3 1
5 商标二本类4 1
http://blog.csdn.net/acmain_chm/article/details/4142971