0
我有一個有圖像標籤的XML,裏面有12個URL標籤。需要單行結果使用openrowset
我已經寫了這個查詢來從xml中獲取結果。
Hotel.xml文件:
<images>
<url></url>
<url></url>
<url></url>
<url></url>
<url></url>
<url></url>
<url></url>
<url></url>
<url></url>
<url></url>
<url></url>
<url></url>
</images>
這裏是我的代碼:
CREATE TABLE #WorkingTable (Data XML)
INSERT INTO #WorkingTable
SELECT *
FROM OPENROWSET(BULK 'd:\hotels.xml', SINGLE_BLOB) AS data
DECLARE @XML AS XML ,
@hDoc AS INT
SELECT @XML = Data
FROM #WorkingTable
EXEC sp_xml_preparedocument @hDoc OUTPUT, @XML
declare @tmp varchar(MAX)
SET @tmp = ''
SELECT pref.value('(hotel_ref/text())[1]','varchar(400)')AS hotel_ref,
sref.value('(text())[1]', 'varchar(400)')+ ';'
FROM #WorkingTable CROSS APPLY
Data.nodes('//hotels/hotel') AS hotel(pref)
CROSS APPLY
pref.nodes('images/url') AS images(sref)
EXEC sp_xml_removedocument @hDoc
DROP TABLE #WorkingTable
我的問題是,它返回12行。我需要URL值逗號分隔。 這怎麼可能。