declare @sql varchar(1000)
  select @sql=isnull(@sql+',','')+[name] from userinf where id in (1,3,5)
  select @sql得出结果(无列名)
张三,李四,王五
怎么添加啊?

解决方案 »

  1.   

     @id varchar(1000)AS
    BEGIN
       declare @sql varchar(1000)
      select @sql=isnull(@sql+',','')+[name] from userinf where id in (@id)
      select @sql然后我调用这个存储过程
    exec GetUserName '1'这样就可以当放入多个值咋解决呢?
    exec GetUserName '1,2,3'这样就错了啊。 
      

  2.   

    select @sql=isnull(@sql+',','')+[name] 
    from userinf 
    where charindex(','+ltrim(id)+',',','+@id+',')>0
      

  3.   


    用动态的SQL 应该可以的  declare @sql varchar(1000)
      select @sql='isnull(@sql+'','','''')+[name] from userinf where id in ('+@id+')'
      exec(@sql)