Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

La sottoquery ha restituito più di 1 valore

L'errore è qui dove hai molte righe che tentano di essere assegnate a una singola variabile

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

Dovresti cambiarlo in un elenco separato così

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

Nota:@Recipients dovrà essere varchar(max)