2016-11-16 49 views
0

我:SQL FOR XML PATH:屬性不能停留在節點

(SELECT TOP 1 '01' AS '@language', 'a description' as 'data()' FROM @tmpData AS FOR XML PATH('description'),ROOT('course'),TYPE), 
(SELECT TOP 1 '2016-CRS' AS '@code' FROM @tmpData as t FOR XML PATH('course'),TYPE), 

這說明:

<course> 
     <description language="01">a description</description> 
</course> 
<course code="2016-CRS" /> 

但我真正需要的是:

<course code="2016-CRS"> 
     <description language="01">a description</description> 
</course> 

我知道這很簡單,但我無法實現。感謝任何見解!

+0

什麼是@ tmpData?你不使用任何值... – Shnugo

回答

0

您的例子並不完全清楚,因爲你正在使用的數據源FROM @tmpData不使用它所有,但將返回的結果,你似乎需要:

SELECT '2016-CRS' AS [@code] 
     ,'01' AS [description/@language] 
     ,'a description' as [description] 
FOR XML PATH('course') 

結果

<course code="2016-CRS"> 
    <description language="01">a description</description> 
</course> 
+0

謝謝,但你的代碼沒有關閉描述標籤:( –

+0

對不起,錯字!!!!!! –

+0

@MiguelMas你爲什麼這麼認爲?用FOR XML創建XML將永遠導致有效的XML ... – Shnugo