sql >> Database >  >> RDS >> Sqlserver

Subquery heeft meer dan 1 waarde geretourneerd

De fout is hier waar je veel rijen hebt die proberen te worden toegewezen aan een enkele variabele

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

Je zou het dus in een gescheiden lijst moeten veranderen

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

Opmerking:@Recipients moet varchar(max)

. zijn

  1. Best practices voor het ontwerpen van meertalige databases

  2. MySQL - selecteer 3 tabellen met de juiste linker join-syntaxis

  3. Echo booleaans veld als ja/nee of andere waarden

  4. Tijdstempel met een precisie van milliseconden:hoe u ze opslaat in MySQL