我使用嵌套查詢來連接聚合的行數據。我在嵌套查詢中使用的語法是XML PATH連接語法
for XML PATH ('')
有人可以解釋什麼是應該在上面的引號之間?我做了一些測試,看起來它只是將我的行數據封裝在開始和結束HTML(如標籤)中。
我使用嵌套查詢來連接聚合的行數據。我在嵌套查詢中使用的語法是XML PATH連接語法
for XML PATH ('')
有人可以解釋什麼是應該在上面的引號之間?我做了一些測試,看起來它只是將我的行數據封裝在開始和結束HTML(如標籤)中。
空字符串('')是一種特殊情況。你的觀察是正確的,因爲無論你放在哪裏,都會用你打開和關閉的XML標籤來包圍你的行。例如,如果你說「for xml path('a')」,它將用<a> </a>
包圍你的結果。
我不是100%肯定你的意思,但如果您的查詢類似於那麼下面可以幫助你:
SELECT R.RegionID AS [@RID],
R.Enabled AS [@Enabled],
(
SELECT ST.TypeID AS [@TID],
QT.[Name] AS [@QTName],
FROM Type ST
INNER JOIN QuarryType QT ON ST.QuarryTypeID = QT.QuarryTypeID
WHERE R.RegionID = ST.RegionID
FOR XML PATH ('QuarryType'), TYPE
)
FROM Region R
FOR XML PATH ('Region'), ELEMENTS, ROOT('root')
正如你可以看到每個塊文字是沒有什麼特別的,無論如何與數據無關。它用於元素名稱在XML輸出是這樣的:
<root>
<Region RID="123" Enabled="true">
<QuarryType TID="4" QTName="Quarry 1"/>
<QuarryType TID="7" QTName="Quarry 2"/>
<QuarryType TID="9" QTName="Quarry 5"/>
</Region>
</root>
如果您需要更多的幫助,只問!