回 帖 发 新 帖 刷新版面

主题:换个问法,还是NOT LIKE的问题~

我的表里面有个字段liulanmaijia,专门用来装访问过特定页面的用户的用户名,内容形式如:
用户名A, 用户名B, 用户名C ,......
其中,每个用户名之间是用英文状态的","和" "(一个空格)来分隔的
现在在数据库中,有多条记录,其中有的记录的liulanmaijia字段中有用户名A,有的没有,那么,在这样的情况下,我想在搜索的结果中,过滤掉被用户名A浏览过的记录,于是:
dim yonghuming="用户名A"
然后用SQL语句进行搜索:
select * from [表名] where liulanmaijia not like '%" & yonghuming & "%'"
结果是找不到任何一条记录,这是为什么?按理来说应该可以只找到liulanmaijia字段中没有用户名A的记录的啊?

用的是ACCESS+ASP

回复列表 (共7个回复)

沙发

sql="select * from 表名 where id not in (select id from 表名 where liulanmaija like '%"&yonghuming&"%'"
这样试试

板凳

[quote]sql="select * from 表名 where id not in (select id from 表名 where liulanmaija like '%"&yonghuming&"%'"
这样试试[/quote]
虽然我不懂NOT IN的用法,但是看了你这句以后,也大概懂了你的用意,不过这个id在这里代表什么?

3 楼

就是那个自动编号的字段,每增加一条记录,这个字段自动增加1

4 楼

按你的用法查了下,好象id也该写成liulanmaijia,不过现在测试不了,明天测了再来~今天先谢一个在这!

5 楼

[quote]就是那个自动编号的字段,每增加一条记录,这个字段自动增加1[/quote]
哦 那这样说来,这个字段只是起到中间搭桥的作用?也就是说随便找个字段(或者说拥有唯一值的字段?)来都一样吧?

6 楼

是的,唯一值的字段

7 楼

问题解决了!确实,wangsdong老大你给的方法是正确可行的!
再次感谢~!

我来回复

您尚未登录,请登录后再回复。点此登录或注册