求SQL语句,有兴趣的进来看看。

CHARGING 2003-08-22 10:07:21
一个表中有如下记录:
id content bak
1 a, b,
2 a,b, a,
3 a,b,c, c,
.
.
.

请问如何用一条SQL语句列出content字段中包含id=1的bak的值的id.

假如id=1则返回:
id
2
3
假如id=2则返回:
id
1
2
3
假如id=3则返回:
id
3

如此类推……
...全文
31 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
awaysrain 2003-08-22
  • 打赏
  • 举报
回复
用like 虽然效率低,但是通用行好一点
用函数对数据库的依赖很大
cqfeng 2003-08-22
  • 打赏
  • 举报
回复
select id2,a.id from test a ,
(select id as id2,rtrim(bak) as bak2 from test) as b
where patindex('%'+bak2+'%',content) > 0
order by id2

SQL SERVER,表名test
CHARGING 2003-08-22
  • 打赏
  • 举报
回复
awaysrain(绝对零度)、cloudchen(陈系上)的正确,但cloudchen(陈系上) 的速度更快。

cqfeng()的不知怎么回事运行半天不出结果。

呵呵,问题解决了,请大家接分!!!
CHARGING 2003-08-22
  • 打赏
  • 举报
回复
awaysrain(绝对零度)、cloudchen(陈系上)的正确,但cloudchen(陈系上) 的速度更快。

cqfeng()的不知怎么回事运行半天不出结果。

呵呵,问题解决了,请大家接分!!!
ttt2 2003-08-22
  • 打赏
  • 举报
回复
select id from test where charindex((select bak from test where id=3),content)>0
anita2li 2003-08-22
  • 打赏
  • 举报
回复
UP
cloudchen 2003-08-22
  • 打赏
  • 举报
回复
不用like,效率比like高很多
cloudchen 2003-08-22
  • 打赏
  • 举报
回复
select id from test where charindex((select bak from test where id = 1),content)>0
select id from test where charindex((select bak from test where id = 2),content)>0
select id from test where charindex((select bak from test where id = 3),content)>0
maxid 2003-08-22
  • 打赏
  • 举报
回复
to :awaysrain(绝对零度)
厉害,我怎么没想到~~
cqfeng 2003-08-22
  • 打赏
  • 举报
回复
select id from tabelName
where PATINDEX('%'+(select rtrim(bak) from tableName where id=1)+'%',content) > 0

SQL SERVER
vivisogood 2003-08-22
  • 打赏
  • 举报
回复
楼主的意思应该是id为 1,2,3,4。返回四个结果
vivisogood 2003-08-22
  • 打赏
  • 举报
回复
楼上的我开始的时候也是这样想的。但是多个id就不好实现了
maxid 2003-08-22
  • 打赏
  • 举报
回复
select id from thisTable where content like (select bak from thisTable where id=1)
awaysrain 2003-08-22
  • 打赏
  • 举报
回复
test 是你的表名
awaysrain 2003-08-22
  • 打赏
  • 举报
回复
一条就可以

select a.id from test a,test b where a.content like '%' + b.bak + '%' and b.id=3


在ACCESS中可以这样,别的数据库换一下字符串的连接符就行了
lions911 2003-08-22
  • 打赏
  • 举报
回复
aa=request("id")
sql="select bak from table where id='"&aa&"' "
set rs =cnn.execute(sql)
bb=rs("bak")
sqlnew="select id from table where content like '%"&bb&"%' "
==============================================================
最后一句改一下:
sqlnew="select count(*) as vam from table where content like '%"&bb&"%' "
lions911 2003-08-22
  • 打赏
  • 举报
回复
有点难度。
vivisogood 2003-08-22
  • 打赏
  • 举报
回复
aa=request("id")
sql="select bak from table where id='"&aa&"' "
set rs =cnn.execute(sql)
bb=rs("bak")
sqlnew="select id from table where content like '%"&bb&"%' "
maxid 2003-08-22
  • 打赏
  • 举报
回复
说得不清楚
CHARGING 2003-08-22
  • 打赏
  • 举报
回复
怎么没人来啊?是不是嫌分不够?不够可以再加嘛……
加载更多回复(1)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧