sql >> Databasteknik >  >> RDS >> Sqlserver

Sammanfogning av strängar för xml-sökväg

Din underfråga kan inte returnera två värden. Om du bara vill sammanfoga strängar behöver du inte xml datatyp överhuvudtaget. Du kan göra stuff() och underfråga i en enda sats:

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. Hur man gör om att skicka e-postlänkfunktion i Laravel

  2. Anropar Oracle-procedur med PL/SQL-post Typ från Spring JDBC

  3. ExecuteNonQuery returnerar -1

  4. Fel vid försök att ansluta MySQL med sqlalchemy (Flask)