sql >> Databasteknik >  >> RDS >> Sqlserver

Underfrågan returnerade mer än 1 värde

Felet är här där du har många rader som försöker tilldelas en enda variabel

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

Du skulle behöva ändra den till en separat lista

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

Obs:@Recipients måste vara varchar(max)



  1. Hämta typen av en variabel i MySQL

  2. Framtvinga timeout på en MysqlQuery från PHP

  3. Hur man får veckovis data i Oracle

  4. Bulkinsats med hjälp av lagrad procedur