Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Subquery mengembalikan lebih dari 1 nilai

Kesalahannya ada di sini di mana Anda memiliki banyak baris yang mencoba ditetapkan ke satu variabel

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

Anda harus mengubahnya ke daftar terpisah sehingga

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

Catatan:@Penerima harus 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. SQL Server PIVOT mungkin?

  2. kehilangan skala saat melakukan perhitungan

  3. Pemanfaatan CPU oleh database?

  4. Hubungkan ke SQL Server melalui alamat IP

  5. Ada apa dengan (nolock) di SQL Server?