您的位置:首页 > 数据库

SQL Server2005中使用XML-FOR XML(AUTO模式查询)

2009-03-04 09:58 344 查看
1、使用AUTO模式检索嵌套数据
select Cust.CustomerID CustID,CustomerType,
SalesOrderID from Sales.Customer Cust
join Sales.SalesOrderHeader [order]
on Cust.CustomerID=[order].CustomerID
order by Cust.CustomerID
for XML AUTO

结果如下:
<Cust CustID="1" CustomerType="S">
<order SalesOrderID="43860" />
<order SalesOrderID="44501" />
<order SalesOrderID="45283" />
<order SalesOrderID="46042" />
</Cust>
<Cust CustID="2" CustomerType="S">
<order SalesOrderID="46976" />
<order SalesOrderID="47997" />
<order SalesOrderID="49054" />
<order SalesOrderID="50216" />
<order SalesOrderID="51728" />
<order SalesOrderID="57044" />
<order SalesOrderID="63198" />
<order SalesOrderID="69488" />
</Cust>
 
2、作为元素检索数据
select Cust.CustomerID CustID,CustomerType,
SalesOrderID from Sales.Customer Cust
join Sales.SalesOrderHeader [order]
on Cust.CustomerID=[order].CustomerID
order by Cust.CustomerID
for XML AUTO,ELEMENTS
 
结果如下:
<Cust>
<CustID>1</CustID>
<CustomerType>S</CustomerType>
<order>
<SalesOrderID>43860</SalesOrderID>
</order>
<order>
<SalesOrderID>44501</SalesOrderID>
</order>
<order>
<SalesOrderID>45283</SalesOrderID>
</order>
<order>
<SalesOrderID>46042</SalesOrderID>
</order>
</Cust>
<Cust>
<CustID>2</CustID>
<CustomerType>S</CustomerType>
<order>
<SalesOrderID>46976</SalesOrderID>
</order>
<order>
<SalesOrderID>47997</SalesOrderID>
</order>
<order>
<SalesOrderID>49054</SalesOrderID>
</order>
<order>
<SalesOrderID>50216</SalesOrderID>
</order>
<order>
<SalesOrderID>51728</SalesOrderID>
</order>
<order>
<SalesOrderID>57044</SalesOrderID>
</order>
<order>
<SalesOrderID>63198</SalesOrderID>
</order>
<order>
<SalesOrderID>69488</SalesOrderID>
</order>
</Cust>
 
3、添加根节点
select Cust.CustomerID CustID,CustomerType,
SalesOrderID from Sales.Customer Cust
join Sales.SalesOrderHeader [order]
on Cust.CustomerID=[order].CustomerID
order by Cust.CustomerID
for XML AUTO,ELEMENTS,ROOT('Orders')
 
结果如下:
<Orders>
<Cust> <CustID>1</CustID> <CustomerType>S</CustomerType> <order> <SalesOrderID>43860</SalesOrderID> </order> <order> <SalesOrderID>44501</SalesOrderID> </order> <order> <SalesOrderID>45283</SalesOrderID> </order> <order> <SalesOrderID>46042</SalesOrderID> </order> </Cust> <Cust> <CustID>2</CustID> <CustomerType>S</CustomerType> <order> <SalesOrderID>46976</SalesOrderID> </order> <order> <SalesOrderID>47997</SalesOrderID> </order> <order> <SalesOrderID>49054</SalesOrderID> </order> <order> <SalesOrderID>50216</SalesOrderID> </order> <order> <SalesOrderID>51728</SalesOrderID> </order> <order> <SalesOrderID>57044</SalesOrderID> </order> <order> <SalesOrderID>63198</SalesOrderID> </order> <order> <SalesOrderID>69488</SalesOrderID> </order> </Cust>
</Orders>
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: