【发布时间】:2020-04-28 16:04:45
【问题描述】:
我正在尝试使用 SQL FOR XML 子句生成自定义 XML 作为在 SSIS 中使用的输出。我非常接近。我在“类型”选项中找不到任何内容。出于某种原因,“类型”让我接近。非常感谢您的帮助。 想要的输出是这样的。
<NLS CommitBlock="1" EnforceTagExistence="1">
<LOAN loannumber="892127" acctrefno="145415" />
<LOAN loannumber="892130" acctrefno="145418" />
<LOAN loannumber="892131" acctrefno="145419" />
</NLS>
我得到的输出是这样的。
<NLS CommitBlock="1" EnforceTagExistence="1">
<LOAN loannumber="892127" acctrefno="145415" />
</NLS>
<NLS CommitBlock="1" EnforceTagExistence="1">
<LOAN loannumber="892130" acctrefno="145418" />
</NLS>
<NLS CommitBlock="1" EnforceTagExistence="1">
<LOAN loannumber="892131" acctrefno="145419" />
</NLS>
我的 SQL 是这样的。
SELECT TOP (3)
'1' AS 'CommitBlock',
'1' AS 'EnforceTagExistence',
(SELECT
vw_deferments.loan_number AS '@loannumber',
vw_deferments.acctrefno AS '@acctrefno'
FOR XML Path('LOAN'), type)
FROM vw_deferments INNER JOIN
loanacct ON vw_deferments.acctrefno = Iloanacct.acctrefno
WHERE (vw_deferments.Loan_Status IN ('PAYING', 'REPO REVIEW', 'REPO ASSIGN'))
-- tons of irrelevant AND clauses are here
FOR XML RAW('NLS')
【问题讨论】:
-
在提出问题时,您需要提供一个可重现的最小示例。请参考以下链接:stackoverflow.com/help/minimal-reproducible-example 请提供以下内容: (1) DDL 和样本数据填充,即 CREATE table(s) 加上 INSERT 语句。 (2) 你需要做什么,即逻辑,以及你的代码实现。 (3) 基于样本数据的期望输出。 (4) 你的 SQL Server 版本 (SELECT @@version;)
标签: sql-server xml tsql