建议用GROUP BY 代替
select @mailto=@mailto+';' + (email)  FROM(SELECT email FROM  a  GROUP BY email)b

解决方案 »

  1.   

    拼接字符串,distinct就不能拼前面?
      

  2.   

    拼接字符串,distinct就不能拼前面?我放在前面有点问题,能给提供下代码吗?
      

  3.   

    像这种赋值方法,你是怎么控制你赋的值是你想要的?后面where条件么,如果有的话用top就行啦
    select Top 1 @xx=xx from tb where A='xx'
      

  4.   

    拼接字符串,distinct就不能拼前面?我放在前面有点问题,能给提供下代码吗?
    放不到前面去,放到前面语意就有问题
    select @mailto=@mailto+';' + (email)  FROM(SELECT distinct email FROM  a)b
      

  5.   

    拼接字符串,distinct就不能拼前面?我放在前面有点问题,能给提供下代码吗?
    放不到前面去,放到前面语意就有问题
    select @mailto=@mailto+';' + (email)  FROM(SELECT distinct email FROM  a)b     select  @mailto=@mailto+';' + email  from (select distinct email from a) b where b.name in (select name from #subregiongm) 这样写对吗?
      

  6.   

    不对
    select  @mailto=@mailto+';' + email  from (select distinct email from a  where a.name in (select name from #subregiongm)) b 
    应该这样