Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn con trả về nhiều hơn 1 giá trị

Lỗi ở đây là bạn có nhiều hàng đang cố gắng được gán cho một biến duy nhất

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

Do đó, bạn cần phải thay đổi nó thành một danh sách riêng biệt

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

Lưu ý:@Recipient sẽ cần phải là 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. Cách trả về một chuỗi con từ một chuỗi trong SQL Server bằng cách sử dụng hàm SUBSTRING ()

  2. Không thể kết nối với máy chủ SQL 2008?

  3. Cơ sở dữ liệu hệ thống máy chủ SQL - Bảo trì Tempdb

  4. Cách trả lại tất cả các ràng buộc kiểm tra không đáng tin cậy trong SQL Server (Ví dụ T-SQL)

  5. Chuyển loại bảng do người dùng xác định giữa cơ sở dữ liệu SQL Server