Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Podzapytanie zwróciło więcej niż 1 wartość

Błąd występuje tutaj, gdy masz wiele wierszy, które próbujesz przypisać do jednej zmiennej

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

Musisz zmienić to na oddzielną listę, w ten sposób

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

Uwaga:@Odbiorcy muszą być varchar(max)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytania podrzędne w ograniczeniu sprawdzającym

  2. Dlaczego odczyty logiczne dla okienkowych funkcji agregujących są tak wysokie?

  3. Wartościowy parametr tabeli:wysyłanie danych w małych porcjach

  4. Nie można połączyć pyODBC z SQL Server 2008 Express R2

  5. TSQL CASE z porównaniem if w instrukcji SELECT