Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

A subconsulta retornou mais de 1 valor


O erro está aqui onde você tem muitas linhas tentando ser atribuídas a uma única variável
SET @Recipients =(SELECT DISTINCT a.EMail
     FROM   a
    --approximately 600 email addresses 

Você precisaria alterá-lo para uma lista separada assim
SET @Recipients = STUFF(
           (select DISTINCT ';' + CAST(a.EMail AS varchar(max))
           FROM a FOR XML PATH ('')
           )
          ,1,1, '') 

Nota:@Recipients precisará ser varchar(max)