簡體   English   中英

用於XML路徑時如何在根元素中添加屬性值?

[英]How to add attribute value to root element when using for XML path?

我有這個SQL,它的工作原理:

set nocount on 

DECLARE
    @OrderID VARCHAR(200) = '13095314100';

declare @eOrder Table
(
  colOrderId  varchar(20),
  colDeliveryCountryCode varchar(20)
 )

insert into @eOrder values ('13095314100', 'SE')


SELECT 
    'name'  AS 'Val/@n', Sender.name AS Val

FROM @eOrder E
  inner join 
    (
       select  '12345' SenderID,     'KappAhl Sverige AB' "name",  'Idrottsvägen 14' "address1",   null address2,       '431 24' ZipCode,   'MÖLNDAL' City, 'SE' Country,  '010-138 87 11' phone
       union
       select  '12345',          'KappAhl Shop Online',       'c/o KappAhl OY',             'Unikkotie 3 C',    '01300'     ,  'VANTAA',        'PL',        '0753 267 881'    
    ) Sender
    on E.colDeliveryCountryCode = Sender.Country

WHERE colOrderId = @OrderID
FOR XML PATH('Sender');

我得到預期的輸出:

<Sender><Val n="name">KappAhl Sverige AB</Val></Sender>

但是,如何將SenderID作為屬性添加到Sender標簽?

想要的XML輸出:

<Sender SenderID="12345" ><Val n="name">KappAhl Sverige AB</Val></Sender>

Sender.SenderID as '@SenderID'添加到您的選擇中:

SELECT Sender.SenderID as '@SenderID',
    'name'  AS 'Val/@n', Sender.name AS Val

結果:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM