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

Nối các chuỗi bằng đường dẫn xml

Truy vấn con của bạn không thể trả về hai giá trị. Nếu bạn chỉ muốn nối các chuỗi, bạn không cần xml kiểu dữ liệu nào cả. Bạn có thể thực hiện stuff() và truy vấn con trong một câu lệnh:

declare @Rep1Names nvarchar(max) = (
    stuff((select ', [' + report_name + ']' as name
           from (select distinct report_order, report_name
                 from #report
                ) x
           order by report_order
           for xml path('')
          )
         ), 1, 1, '');

declare @Rep2Names nvarchar(max) = (
    stuff(select ', isnull([' + report_name + '], 0) as [' + report_name + ']' as res
           from (select distinct report_order, report_name
                 from #report
                ) x
           order by report_order
           for xml path('')
          )
   ), 1, 1, '');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. đặt hàng theo một tham số

  2. Các cách khôi phục dữ liệu từ tệp nhật ký giao dịch SQL Server

  3. String_agg cho SQL Server trước năm 2017

  4. Bảng ẩn trong cơ sở dữ liệu SQL Server?

  5. Cách truyền DateTime thành Time