SQL Server 表数据到带有列值的 xml 文件

标签 sql sql-server xml

我有这样的数据:

Data

是否可以使用该表中的 SQL 查询生成此 XML 文件作为输出?

XML

最佳答案

不确定您实际上遇到了什么问题,但您需要使用 for xml path() 并将它们嵌套在几个子查询中。

declare @T table(code varchar(30), amount money);

insert into @T(code, amount) values
('totalPAS', 389),
('sub270', 0),
('sub770', 0),
('sub270', 0);

select 'datfile' as '@objectCode', 
       (
       select T.code as '@instanceCode',
              'data_t' as '@objectCode',
              (
              select 'code' as 'ColumnValue/@name',
                     T.code as 'ColumnValue',
                     null,
                     'amount' as 'ColumnValue/@name',
                     T.amount as 'ColumnValue'
             for xml path('CustomInformation'), type
             ) 
       from @T as T
       for xml path('instance'), type
       )
for xml path('customObjectInstances');

结果:

关于SQL Server 表数据到带有列值的 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47451246/

相关文章:

mysql - 最高效的 SQL、DISTINCT 或 WHERE...AND

sql - 如何编写 SELECT 语句,其中条件是函数的结果

sql - 如何将日期参数传递到存储过程中

sql-server - 将列添加到表时强制使用默认值 - SQL Server

xml - 如何使用 Perl 的 XML::Twig 向子元素添加属性?

sql - 用问题中给出的日期做数学

sql-server - 如何从 Ubuntu 调试 MSSQL 驱动程序问题

c# - 在 Entity Framework 中创建递归实体的正确方法是什么?

来自 StringIO 源的 Python xml etree DTD?

java - 如何将 CDATA 格式从一种 xml 转换为另一种?