使用XML PATH的一个XMLFILE中的多个图像



我有一个这样的查询:

SELECT a.test AS 'TRANSFERT/STUFF/NAME", b.URL AS "TRANSFERT/STUFF/IMAGE/URL"
FROM stuff a, image b
WHERE a.id = b.id
FOR XML PATH;

但我可以为同一件事拍摄几张照片。

我想要的是这样一个xml:

<TRANSFERT>
<STUFF>CAR</STUFF>
<IMAGE>http://url1</IMAGE>
<IMAGE>http://url2</IMAGE>
<IMAGE>http://url3</IMAGE>
</TRANSFERT>

我怎么能有这样的xml文件?

您需要使用带有XML的嵌套查询来实现您想要的结果,例如:

-- Database setup...
create table dbo.[stuff] (
id int not null,
test nvarchar(10)
);
insert dbo.[stuff] (id, test) values
(1, N'CAR');
create table dbo.[image] (
id int not null,
[URL] nvarchar(20)
);
insert dbo.[image] (id, [URL]) values
(1, N'http://url1'),
(1, N'http://url2'),
(1, N'http://url3');
-- XML query result...
select
a.test as 'STUFF',
(
select [URL] as 'text()'
from dbo.[image] b
where b.id = a.id
for xml path('IMAGE'), type
)
from dbo.[stuff] a
for xml path('TRANSFERT');

这就产生了结果。。。

<TRANSFERT>
<STUFF>CAR</STUFF>
<IMAGE>http://url1</IMAGE>
<IMAGE>http://url2</IMAGE>
<IMAGE>http://url3</IMAGE>
</TRANSFERT>

最新更新