如题我写出下面的语句,但是总是报错,系统不让通过其中receiver是一个包含了多个用逗号隔开的用户名的字符串,因为要从用户表中行到用户字符串中用户的真实姓名,而真实姓名是在table_staff的realname字段中声明了一个变量
declare @var1 varchar(1000)查询子句是这样
(select @var1+=realname+',' from table_staff where username in (receiver)) as realnames

解决方案 »

  1.   

    (select @var1=realname from table_staff where username in (receiver)) as realnamestest!
      

  2.   

    select @var1=realname from table_staff where username in (receiver)) as realnamesselect field1,field2,@var1=field3
    from table
    where ...
      

  3.   

    --假设你的存放用户信息的表叫userinfo,存放真实姓名是table_staff,你只是通过两个表来关联查出真实姓名而已,用下面这样的语句就可以了select a.username from table_staff a left join userinfo b on a.userid=b.userid
      

  4.   

    关键的困难是查到的在receiver中的真实姓名要连接成一个字符串,这个字符串的值又要作为一个字段中的一行的值
      

  5.   

    declare @var1 varchar(1000)
    declare @s varchar(1000)
    select @var1='''+realname+''',' from table_staff where 条件
    select @var1=substring(@var1,0,len(@var1)-1)
    select @s='select * from Table where UserName in ('+@var1+')' 
      

  6.   

    declare @var1 varchar(1000)
    select @var1='''+realname+''',' from table_staff where 条件
    select @var1=substring(@var1,0,len(@var1)-1)
    select @var1