select * from b where charindex(','+convert(varchar,id)+',',@b_list+',')>0
解决方案 »
- 关于事务隔离级别与锁的问题
- SQL Server2005和SQL server2005 compact edition之间到底是什么关系?
- 在列表页中如何查出所有的发帖者和回复人,并统计总数?
- Sql Server 2005 版 ,要新建一个实例 怎么弄啊 详情请看内容 拜托了
- 如何在sql2000中删除复合主键外表中符合主表条件的数据?
- 在MS SQL SERVER中用语句判断登录名是否存在,不在存则创建一个新的该登录
- Java 链接sqlserver数据库SelectMethod=cursor
- SQL server 安装问题
- 急:SQL7恢复备份数据库要求‘sa’登陆的问题。
- 找DOWN:VB 和 SQL Server 编程指南(第五版)与《VISUAL BASIC6。0数据库程序设计》
- 我的全文目录不能删除。
- 遇到了个棘手的问题,得尽快解决,谁能帮忙呢
from b
inner join a
on len(a.b_list) - len(replace(','+b.id+',',','+a.b_list+',','')) > 0
return varchar(1000)
as
declare @s varchar(1000)
select @s=b_list from a where [id]=@a
set @s=@s+','
return @sselect b.* from b,a where charindex(','+convert(varchar,id)+',',dbo.reS(a.id)>0根据vivianfdlpw() 想的,没测试,楼主看看
create table tb(id int, value varchar(10))
go
insert ta select 1, ',1,2,3,4,5,6' union all select 2, ',5,6,7,8,9'
insert tb select 1, 'a' union all select 2, 'b' union all select 3, 'c'
insert tb select 4, 'd' union all select 5, 'e' union all select 6, 'f'
insert tb select 7, 'g' union all select 8, 'h' union all select 9, 'i'
go
--主要部分
create function fun(@b_list varchar(40))
returns varchar(100)
as
begin
declare @str varchar(100)
set @str=@b_list+','
select @str=replace(@str, ','+convert(varchar(10), id)+',', ','+value+',')
from tb
set @str=left(@str, len(@str)-1)
return @str
end
go
select id, b_list=dbo.fun(b_list) from ta
--清除
drop function fun
drop table ta
drop table tb
select a.id,(select [你要查的字段] from tbb where id in( a.b_list )) from tba a
--查出ta表中id为2的b_list对应的tb表数据:
select value from tb,ta where charindex(convert(varchar(5),tb.id),b_list)<>0 and ta.id=2