求个sql语句

vgy12304 2009-08-25 05:19:05
SELECT NS_ID as id from NewsSort_C where InStr(NS_Address,'9')>0

查询NewsSort表中,NS_Address包含 9 的记录,用于无限级分类的

现在得出的结果不对,字段中包含19的,也出来了,需要查询包含9,但不能包含19,29,129,190 等等的语句

表NewsSort大概如下:
ns_id NS_Address
1 0,9
9 0,19
10 0,9
19 0,9,10
...全文
59 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
vgy12304 2009-08-26
恩,2楼,4楼的都正解,谢谢

答复1楼的,虽然你不懂,还是谢谢你的参与
答复3楼的,如果ns_id是,9和,90,900 还是识别不出来的
答复5楼的,有抄袭楼上的嫌疑哦
答复6楼的,access中不能使用CharIndex函数
答复7楼的,like的执行效率低,如果是备注字段,根本就不能使用


  • 打赏
  • 举报
回复
batuo527 2009-08-26
学习了.,高!
  • 打赏
  • 举报
回复
三楼の郎 2009-08-25
存的时候存成这样:
ns_id NS_Address
1 ,0,9,
9 ,0,19,
10 ,0,9,
19 ,0,9,10,

查的时候按这个查:
SELECT NS_ID as id from NewsSort_C where NS_Address like '%,9,%'
  • 打赏
  • 举报
回复
hj3793 2009-08-25
看错了函数..
更正:

SELECT NS_ID as id from NewsSort_C where CharIndex(',9,',','+NS_Address+',')>0
  • 打赏
  • 举报
回复
sy_binbin 2009-08-25
SELECT NS_ID as id from NewsSort_C where InStr(','+NS_Address+',',',9,')>0
  • 打赏
  • 举报
回复
hj3793 2009-08-25
2楼是正确的

SELECT NS_ID as id from NewsSort_C where InStr(','+NS_Address+',',',9,')>0
  • 打赏
  • 举报
回复
kkgerry 2009-08-25
我想了想是不是可以用这个
SELECT NS_ID as id from NewsSort_C where InStr(NS_Address,',9')>0
  • 打赏
  • 举报
回复
hookee 2009-08-25
SELECT NS_ID as id from NewsSort_C where InStr(NS_Address+',', ',9,')>0
  • 打赏
  • 举报
回复
xiaojielanbaihe 2009-08-25
where 字段=9
  • 打赏
  • 举报
回复
发帖
ASP

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
帖子事件
创建了帖子
2009-08-25 05:19
社区公告
暂无公告