2017-07-17 89 views
-3

我有這個下面的查詢對於XML在SQL Server - 添加子元素

enter image description here

返回此XML文件格式

enter image description here

我怎樣才能得到它的這種格式?

enter image description here

請幫幫忙, 源代碼

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; 
+0

複製/粘貼代碼*到你的問題*。 *不*上傳代碼圖片。我們無法用圖片做任何事情。 – Siyual

回答

1

請與實際RDBMS(產品和版本)標籤。語法和圖片指向SQL-服務器...

請仔細閱讀How to ask a good SQL questionHow to create a MCVE

沒有測試數據我不能對此進行測試,但下面應該幫助...

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; 

AS [consumer-payment-imports]會將整個內部節點包裹在另一個節點中。

第二個添加是將您的客戶參考添加到內部子選擇中的另一個子選擇。如果這不是1:n這可能是足夠使用

'SomeValue' AS [consumer-identifier/Something] 

這將嵌套元素中添加值SomeValue ...