Sql server 从SQL选择查询输出复杂的xml
我正在尝试从SQLServerSelect查询生成XML。我希望输出如下所示:Sql server 从SQL选择查询输出复杂的xml,sql-server,xml,select,Sql Server,Xml,Select,我正在尝试从SQLServerSelect查询生成XML。我希望输出如下所示: <Root Version="3.3" UnitsOfMeasure="metric"> <Header> <HeaderID CountryCode="TH" LanguageCode="tha" Name="บริษัท เลิศวนิชออยล์ จำกัด สาขา 1" IDType="Local">88</HeaderID> </Header&
<Root Version="3.3" UnitsOfMeasure="metric">
<Header>
<HeaderID CountryCode="TH" LanguageCode="tha" Name="บริษัท เลิศวนิชออยล์ จำกัด สาขา 1" IDType="Local">88</HeaderID>
</Header>
<Item>
<ItemID Name="Premium Unleaded">4021</ItemID>
<SubItem>
<SubItemID Name="T3">3</SubItemID>
<TimeStamp>
<Date>2015-09-19</Date>
<Time>14:09</Time>
</TimeStamp>
</SubItem>
</Item>
<Item>
<ItemID Name="Diesel">4041</ItemID>
<SubItem>
<SubItemID Name="T1">1</SubItemID>
<TimeStamp>
<Date>2015-09-19</Date>
<Time>14:09</Time>
</TimeStamp>
</SubItem>
<SubItem>
<SubItemID Name="T7">7</SubItemID>
<TimeStamp>
<Date>2015-09-19</Date>
<Time>14:09</Time>
</TimeStamp>
</SubItem>
</Item>
</Root>
88
4021
3.
2015-09-19
14:09
4041
1.
2015-09-19
14:09
7.
2015-09-19
14:09
数据库结构是
通过HeaderTable
外键连接到HeaderID
ItemTable
通过ItemTable
和HeaderID
作为主键连接到ItemID
SubItemTable
如果你需要更多的信息,请告诉我 请参考以下从SQL查询生成XML的示例
SELECT e.EmployeeID AS "@EmpID",
c.FirstName AS "EmployeeName/FirstName",
c.MiddleName AS "EmployeeName/MiddleName",
c.EmailAddress,
c.LastName AS "EmployeeName/LastName"
FROM HumanResources.Employee AS e
INNER JOIN Person.Contact AS c
ON c.ContactID = e.ContactID
WHERE c.FirstName = 'Rob'
FOR XML PATH ('Employee'), ROOT ('Employees'), ELEMENTS XSINIL;
生成的XML如下所示…同样,相应地更改代码..:-
<Employees xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Employee EmpID="4">
<EmployeeName>
<FirstName>Rob</FirstName>
<MiddleName xsi:nil="true" />
</EmployeeName>
<EmailAddress>rob0@adventure-works.com</EmailAddress>
<EmployeeName>
<LastName>Walters</LastName>
</EmployeeName>
</Employee>
<Employee EmpID="168">
<EmployeeName>
<FirstName>Rob</FirstName>
<MiddleName>T</MiddleName>
</EmployeeName>
<EmailAddress>rob1@adventure-works.com</EmailAddress>
<EmployeeName>
<LastName>Caron</LastName>
</EmployeeName>
</Employee>
</Employees>
抢劫
rob0@adventure-works.com
沃尔特斯
抢劫
T
rob1@adventure-works.com
卡隆
我已经使用FOR XML命令非常成功地完成了这项工作。文档也很好。我在哪里可以找到文档?Microsoft文档是一个很好的起点,请在这里尝试@TobyJackson参考上面的代码,让我知道它是否有效!!!我希望最新更新的帖子能满足你的要求。