日期:2014-05-18  浏览次数:20744 次

请教一下,这样的sql如何如何编写
我想实现一个功能就是:
create table #temp
(
 ID int,
 aaa varchar(20)
)
insert into #temp values(1,'22')
insert into #temp values(2,'33')
insert into #temp values(3,'44')
.。。。。。

我在另外一个主表中,保存的一个字段里是1,2,也就是ID值,我现在要读出对应的文字,但是也是要和ID一样,显示成22,33,这样的SQL语句可以实现吗?


------解决方案--------------------

SQL code
create table tb(ID int,name varchar(20))
insert into tb values(1,'22')
insert into tb values(2,'33')
insert into tb values(3,'44') 

create function get_str(@str varchar(20))
returns varchar(1000) 
as 
begin
declare @s varchar(1000)
select @s=isnull(@s+',','')+name 
from tb where charindex(','+ltrim(id)+',',','+@str+',')>0
return @s
end 

select dbo.get_str('1,2')