Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

La sous-requête a renvoyé plus d'une valeur

L'erreur est ici où vous avez de nombreuses lignes essayant d'être affectées à une seule variable

SET @Recipients =(SELECT DISTINCT a.EMail
     FROM   a
    --approximately 600 email addresses 

Vous devrez donc le changer en une liste séparée

SET @Recipients = STUFF(
           (select DISTINCT ';' + CAST(a.EMail AS varchar(max))
           FROM a FOR XML PATH ('')
           )
          ,1,1, '') 

Remarque :@Recipients devra être varchar(max)