主题:  请教问题.

未来的大师

职务:普通成员
等级:2
金币:1.0
发贴:550
注册:2002/7/30 21:11:58
#12006/3/13 17:52:50
我现在有一个数据库,数据已经导入,其中产品分类有三层:
总类
大类
小类
现在客户要求在某一个小类中再设一个分类:小小类.
为了最少地改动数据表和程序,我现在把原有数据表的一个冗余字段用作这个小小类.
现在出现以下问题:
总共一百条符合小类记录中,又分为了4个小小类.我在作索引的时候需要显示这四个小小类.但是每次检索总是重复显示,最后100条记录全部显示出来,请问这个问题应该怎么解决?



三仙半

职务:普通成员
等级:1
金币:0.0
发贴:241
注册:2006/1/24 15:46:21
#22006/3/13 18:35:34
比如说你有一个小类A,它有4个小小类Aa,Ab,Ac,Ad;我理解你的要求是只想显示Aa,Ab,Ac,Ad,而不想显示小类A所对应的所有数据,如果我理解正确,你这样做:
select DISTINCT xxx from tableName where yyy='A'
(这里xxx是小小类对应的字段名,yyy是小类对应的字段名,tableName是需要查询的表名)


闭起眼睛看人生

未来的大师

职务:普通成员
等级:2
金币:1.0
发贴:550
注册:2002/7/30 21:11:58
#32006/3/13 18:52:16
谢谢zys,现在是不知道分几个小小类,因为这个小小类是要增加删除的。
我以前做三层的时候,都是用单独的数据表要对应各层类之间的从属关系。而有一个商品表是记录商品的信息,其中包括所属大类ID,所属小类ID,以及其他的信息,我现在是在不改变原有表的情况下,利用商品表中一预留的冗余字段存储小小类。

在商品类别索引时,要显示总共有多少个小小类,分别是什么!

这个如何解决?

谢谢



未来的大师

职务:普通成员
等级:2
金币:1.0
发贴:550
注册:2002/7/30 21:11:58
#42006/3/13 18:57:02
其实,说白了我就是想选出字段中的分类!
我用Distinct不知道为什么总是出现问题,显示不正常。
比如,商品有个字段是“品牌”,而这一百个记录中有4个品牌,我现在就是想选出这4个品牌来。



未来的大师

职务:普通成员
等级:2
金币:1.0
发贴:550
注册:2002/7/30 21:11:58
#52006/3/13 19:01:44
搞定了,原来distinct 只能对一个字段或者一个字段组的select 有效,而且不能和order by 一起用!哈,再次感谢zys



三仙半

职务:普通成员
等级:1
金币:0.0
发贴:241
注册:2006/1/24 15:46:21
#62006/3/25 16:10:06
distinct和order by不能一起用,我也要实验实验,以后还真要注意了。


闭起眼睛看人生