用于SQL Server中的XML-添加子元素

用于SQL Server中的XML-添加子元素,sql,xml,for-xml,Sql,Xml,For Xml,我有以下疑问 返回此XML文件格式 我怎样才能得到这种格式 请帮忙, 源代码 SELECT top 1 (SELECT top 1 count(*)AS 'number-of-accounts', sum(br.cnsmr_accnt_bckt_crrnt_bal_amnt) AS 'total-value-of-account-payment', '' AS 'date-of-turnover', '' AS 'is-conversion-jo

我有以下疑问

返回此XML文件格式

我怎样才能得到这种格式

请帮忙, 源代码

SELECT top 1

    (SELECT top 1
    count(*)AS 'number-of-accounts', 
    sum(br.cnsmr_accnt_bckt_crrnt_bal_amnt) AS 'total-value-of-account-payment',
    '' AS 'date-of-turnover',
    '' AS 'is-conversion-job'
    FROM
    cnsmr as c
    inner join cnsmr_accnt as ca ON c.cnsmr_id = ca.cnsmr_id
    inner join cnsmr_accnt_bckt_bal_rprtng as br on ca.cnsmr_accnt_id = br.cnsmr_accnt_id
     FOR XML PATH('payment-import-header'), TYPE),

    (SELECT  top 1
    br.cnsmr_accnt_bckt_crrnt_bal_amnt AS 'payment-amount',
    '' AS 'bucket-transaction-type',
    '' AS 'tendered-date',
    '' AS 'entered-date',
    '' AS 'payment-location-code',
    '' AS 'payment-memo-code',
    '' AS 'payment-comments',
    '' AS 'external-reference-identifier'

    FROM
    cnsmr as c
    inner join cnsmr_accnt as ca ON c.cnsmr_id = ca.cnsmr_id
    inner join cnsmr_accnt_bckt_bal_rprtng as br on ca.cnsmr_accnt_id = br.cnsmr_accnt_id

    FOR XML PATH('consumer-payment'), ROOT('consumer-payment-import'),TYPE)

FOR XML RAW (''), ROOT ('consumer-payment-import-job'), ELEMENTS XSINIL;

请标记实际的RDBMS(产品和版本)。语法和图片指向SQL Server

请阅读和

没有测试数据,我无法测试这一点,但以下内容应该会有所帮助

SELECT top 1

    (SELECT top 1
    count(*)AS 'number-of-accounts', 
    sum(br.cnsmr_accnt_bckt_crrnt_bal_amnt) AS 'total-value-of-account-payment',
    '' AS 'date-of-turnover',
    '' AS 'is-conversion-job'
    FROM
    cnsmr as c
    inner join cnsmr_accnt as ca ON c.cnsmr_id = ca.cnsmr_id
    inner join cnsmr_accnt_bckt_bal_rprtng as br on ca.cnsmr_accnt_id = br.cnsmr_accnt_id
     FOR XML PATH('payment-import-header'), TYPE),

    (SELECT  top 1
    br.cnsmr_accnt_bckt_crrnt_bal_amnt AS 'payment-amount',
    '' AS 'bucket-transaction-type',
    '' AS 'tendered-date',
    '' AS 'entered-date',
    '' AS 'payment-location-code',
    '' AS 'payment-memo-code',
    '' AS 'payment-comments',
    '' AS 'external-reference-identifier'
    ,(
        SELECT 'SomeValue' AS Something
        FOR XML PATH('consumer-identifier'),TYPE
     )
    FROM
    cnsmr as c
    inner join cnsmr_accnt as ca ON c.cnsmr_id = ca.cnsmr_id
    inner join cnsmr_accnt_bckt_bal_rprtng as br on ca.cnsmr_accnt_id = br.cnsmr_accnt_id

    FOR XML PATH('consumer-payment'), ROOT('consumer-payment-import'),TYPE) AS [consumer-payment-imports]

FOR XML RAW (''), ROOT ('consumer-payment-import-job'), ELEMENTS XSINIL;
[consumer payment imports]的
将把整个内部节点包装在一个或多个节点中

第二个添加项是另一个子选择项,用于将客户参考添加到内部子选择项中。如果这不是
1:n
,则可以使用

'SomeValue' AS [consumer-identifier/Something]
这将在嵌套元素中添加值
SomeValue

将代码复制/粘贴到问题中。不要上传代码的图片。我们不能用照片做任何事情。