Please allow me to post my sample data and queries:Table1:--create item master tableCREATE TABLE [dbo].[itemMaster]( [ItemNumber] [int] NOT NULL, [ItemDescription] [varchar](15) NOT NULL) ON [PRIMARY]--insert sample data into item master tableINSERT INTO [itemMaster] ([ItemNumber] ,[ItemDescription]) VALUES ('57893','ItemDescription1') ,('57894','ItemDescription2') ,('57895','ItemDescription3') ,('57896','ItemDescription4') ,('57897','ItemDescription5')--create reference tableCREATE TABLE [dbo].[RefTable]( [ReferenceNumber] [varchar](12) NOT NULL, [ItemNumber] [int] NOT NULL) ON [PRIMARY]--insert sample data into reference tableINSERT INTO [RefTable] ([ReferenceNumber] ,[ItemNumber]) VALUES ('57893','PRE70') ,('57893','PRE71') ,('57894','PRE115') ,('57895','DIS50') ,('57896','39020043') ,('57897','39020057')
When I now run the following query as suggested:SELECT ItemNumber,ItemDescription,(SELECT ReferenceNumber FROM RefTable WHERE ItemNumber= m.ItemNumber FOR XML PATH('ItemReference'),type)FROM itemMaster mFOR xml path ('Item'),type , root ('AllParts')
I get a result that shows every reference number as its own element:<AllParts> <Item> <ItemNumber>57893</ItemNumber> <ItemDescription>ItemDescription</ItemDescription> <ItemReference> <ReferenceNumber>PRE71</ReferenceNumber> </ItemReference> <ItemReference> <ReferenceNumber>PRE70</ReferenceNumber> </ItemReference> </Item>...
but what I would like the XML to look like is as follows:<AllParts> <Item> <ItemNumber>57893</ItemNumber> <ItemDescription>ItemDescription</ItemDescription> <ItemReference> <ReferenceNumber>PRE71</ReferenceNumber> <ReferenceNumber>PRE70</ReferenceNumber> </ItemReference> </Item>
How can I accomplish this?Thanks for your patience and help.