3
我在寫查詢以選擇xml格式的某些列。使用FOR XML以xml格式選擇數據
樣品
我有一個像下面
Create Table #Master(Id int, Name varchar(100))
Insert Into #Master
Values(1,'Item1'),(2,'Item2')
Create Table #Sub(SubId int,MasteId int, SubName varchar(100))
Insert Into #Sub
Values(1,1,'SubItem1'),(2,1,'SubItem2')
數據目前編寫查詢如下
Select *
From #Master as Main
FOR XML AUTO, ROOT ('ItemGroup'), ELEMENTS XSINIL;
其中拉XML如下
<ItemGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Main>
<Id>1</Id>
<Name>Item1</Name>
</Main>
<Main>
<Id>2</Id>
<Name>Item2</Name>
</Main>
</ItemGroup>
但我想要使用鏈接t他#MASTER和#Sub把分項單獨的說明每個主項,這樣就會產生類似下面
<ItemGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Main>
<Id>1</Id>
<Name>Item1</Name>
<SubItems>
<subitem>
<subid>1</subid>
<masterid>1</masterid>
<subname>SubItem1</subname>
</subitem>
<subitem>
<subid>2</subid>
<masterid>1</masterid>
<subname>SubItem2</subname>
</subitem>
</SubItems>
</Main>
<Main>
<Id>2</Id>
<Name>Item2</Name>
</Main>
</ItemGroup>
有什麼辦法,我可以做到這一點?