关于无限级分类数据库表结构设计问题,遍历某分类下所有产品 效率 (两张表) (一张表)

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

二级菜单
select a.id 商品大类, a.title ,b.id 二级编号  from wp_shopcategory a,wp_shopcategory b where a.id=b.pid

三级菜单
select a.id 商品大类, a.title ,b.id 二级编号 , c.id 三级编号,c.title 三级名称 from wp_shopcategory a,wp_shopcategory b, wp_shopcategory c where a.id=b.pid and b.id = c.pid

http://blog.csdn.net/acmain_chm/article/details/4142971


你可能感兴趣的:(关于无限级分类数据库表结构设计问题,遍历某分类下所有产品 效率 (两张表) (一张表))