SQL语句问题!!~~高分送~~~~进者有分。

数据库结构如下:

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 '%老师%'"

Published At
Categories with Web编程
Tagged with
comments powered by Disqus