Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Die Unterabfrage hat mehr als 1 Wert zurückgegeben

Der Fehler liegt hier, wo Sie viele Zeilen haben, die versuchen, einer einzelnen Variablen zugewiesen zu werden

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

Sie müssten es daher in eine separate Liste ändern

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

Hinweis:@Empfänger müssen varchar(max) sein