DECLARE @mailto VARCHAR(8000)
DECLARE @whodo VARCHAR(50)
SET @mailto=''
SET @whodo='条件'
select @mailto=@mailto+';'+email from v_mailaccountlist where account=@whodo
SET @mailto=STUFF(@mailto,1,1,'')你参考下

解决方案 »

  1.   

    SELECT @M=STUFF((SELECT ';'+email FROM v_mailaccountlist WHERE account=@whodo FOR XML PATH('')),1,1,'')
    用XML应该也可以
      

  2.   


    还有个问题您能不能帮帮忙,就是在一个if条件内我想分别发送给两个人不同的内容该怎么做?
    就是这样: if(@flag=0)
    begin
    select @mailto=@mailto+';'+email from v_mailaccountlist where account=@whodo
    set @mailto=stuff(@mailto,1,1,'')
    set @content='邮件内容'
    --再给其他人发邮件怎么指定@mailto和@content?
    end
      

  3.   

    用的是SQL Server 邮件功能?
    不是自己程序上的功能?
      

  4.   


     if(@flag=0)
    begin
    select @mailto=@mailto+';'+email from v_mailaccountlist where account=@whodo
    set @mailto=stuff(@mailto,1,1,'')
    set @content='邮件内容'set @Mailto='地址'
    set @content='邮件内容'
    end 可以这样写吗?
      

  5.   

    插入到邮件表里?
    是到时统一发送吗?你就类似这么处理吧
     if(@flag=0)
    begin
    select @mailto=@mailto+';'+email from v_mailaccountlist where account=@whodo
    set @mailto=stuff(@mailto,1,1,'')
    set @content='邮件内容'
    --把相关信息插入到邮件表
    set @Mailto='地址'
    set @content='邮件内容'
    --把相关信息插入到邮件表
    end 
      

  6.   


    是根据flag来判断发送内容,我是这样写的
    if(flag=0)
    begin
    --邮件
    end
    if(flag = 1)
    begin
    --邮件
    endinsert into 
    我就是不知道在一个if条件里同时给参数附多个值对不对
      

  7.   

    一个if条件里同时给参数附多个值
    对于每一次使用那个参数,只有他之前最后一次的赋值有效你的if(flag = 1)可以写为ELSE IF(flag = 1)没明白你是要插入两次,还是要经过判断,最后只插入一次
      

  8.   

    那么,你就要执行两次INSERT INTO
    第二次赋值,在第一次插入之后