小编hlc*_*123的帖子

在TSQL中使用外部节点包装内部XML节点

采用以下TSQL

SELECT 
    o.id as '@id',
    (SELECT 
         op.id as '@orderid'
     FROM 
         Orders o
     INNER JOIN 
         OrderParts op ON o.id = op.orderId
     FOR XML PATH ('orderpart'), TYPE)
FROM 
    Orders o
FOR XML PATH ('order'), ROOT('application')
Run Code Online (Sandbox Code Playgroud)

从这些表生成.

命令

Id   type
----------------
1    Pending
2    Active
Run Code Online (Sandbox Code Playgroud)

订购零件

id   orderid
-------------
1       1
2       1
3       3
4       2
Run Code Online (Sandbox Code Playgroud)

它生成这个XML

<application>
  <order id="1">
    <orderpart orderid="1" />
    <orderpart orderid="2" />
    <orderpart orderid="3" />
    <orderpart orderid="4" />
  </order>
  <order id="2">
    <orderpart orderid="1" />
    <orderpart orderid="2" />
    <orderpart …
Run Code Online (Sandbox Code Playgroud)

xml t-sql sql-server

5
推荐指数
1
解决办法
1740
查看次数

标签 统计

sql-server ×1

t-sql ×1

xml ×1