sql >> Database >  >> RDS >> Sqlserver

Aaneenschakeling van tekenreeksen door voor xml-pad

Uw subquery kan geen twee waarden retourneren. Als je alleen strings wilt samenvoegen, heb je de xml . niet nodig gegevenstype helemaal niet. Je kunt de stuff() . doen en subquery in een enkele instructie:

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. Hoe com.mysql.jdbc.Driver te installeren Kon het stuurprogramma niet vinden met de klassenaam:com.mysql.jdbc.Driver?

  2. ORA-00119:ongeldige specificatie ORA-00132:syntaxisfout

  3. voorwaarde in criteria in yii framework php

  4. Oracle Database Testing Challenge - Schemagegevens vergelijken