数据库结构如下:
id 自动编号 int
userid 用户编号 int
ftype 主分类 nvarchar
stype 子分类 nvarchar
fid 主分类编号 int
查询相关子分类的用户!
例:
编号 用户编号 主分类 子分类 主分类编号
1 10 家庭 null 0
2 10 null 父亲 1
3 10 null 母亲 1
4 9 学校 null 0
5 9 null 老师 4
6 9 null 学生 4
7 9 null 老师 4
sql="SELECT userid FROM xxx WHERE (stype LIKE '%老师%')"
结果为:
9
9
可是查询结果是重复的数据!!为什么呢?怎么处理呢??我只要一个编号就够了~~请高人指点!!
---------------------------------------------------------------
这样写:
sql="select distinct userid FROM xxx WHERE (stype LIKE '%老师%')"
---------------------------------------------------------------
加入select top 1
可以根据自动编号排序order by id
这样就不会有重复了
---------------------------------------------------------------
加上这个distinct
就只筛选一条记录
---------------------------------------------------------------
wangyihua(飞天), 老兄,你不知道不要乱说啊
万一有一个编号为:11的项,它的子类为"老师好"
按楼主的意思也应该选上,但你的方法就把它给
选掉了
---------------------------------------------------------------
sql="select distinct userid FROM xxx WHERE (stype LIKE '%老师%')"
是每一个选一样
sql="select all userid FROM xxx WHERE (stype LIKE '%老师%')"
是全选,all可以省
---------------------------------------------------------------
sql="select distinct userid FROM xxx WHERE stype LIKE '%老师%'"