【发布时间】:2023-01-12 08:13:32
【问题描述】:
我有一个看起来像这样的数据集:
<?xml version="1.0" encoding="utf-8"?>
<process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<return>
<approved>
<callbackTable>
<tableRow max="100" value="10" selectedRow="true" maxRow="112.0">
<tableCell term="72" selectedCell="false" maxCell="73">
<number>21.7</number>
</tableCell>
<tableCell term="74" selectedCell="true" maxCell="75">
<number>21.7</number>
</tableCell>
</tableRow>
<tableRow max="200" value="15" selectedRow="false" maxRow="113.0">
<tableCell term="76" selectedCell="false" maxCell="77">
<number>14.5</number>
</tableCell>
<tableCell term="78" selectedCell="false" maxCell="79">
<number>22.5</number>
</tableCell>
</tableRow>
<tableRow max="300" value="20" selectedRow="false" maxRow="114.0">
<tableCell term="80" selectedCell="false" maxCell="81">
<number>14.6</number>
</tableCell>
<tableCell term="82" selectedCell="false" maxCell="83">
<number>15.7</number>
</tableCell>
</tableRow>
</callbackTable>
</approved>
</return>
</process>
我需要能够遍历回调表条目并将它们添加到名为选项.
这是我需要的数据最终看起来像选项桌子。
| Id | Max | Value | SelectedRow | MaxRow | Term | SelectedCell | MaxCell | Number |
|---|---|---|---|---|---|---|---|---|
| 1 | 100 | 10 | true | 112.0 | 72 | false | 73 | 21.7 |
| 2 | 100 | 10 | true | 112.0 | 74 | true | 75 | 21.7 |
| 3 | 200 | 15 | false | 113.0 | 76 | false | 77 | 14.5 |
| 4 | 200 | 15 | false | 113.0 | 78 | false | 79 | 22.5 |
| 5 | 300 | 20 | false | 114.0 | 80 | false | 81 | 14.6 |
| 6 | 300 | 20 | false | 114.0 | 82 | false | 83 | 15.7 |
(注意Id列是身份键,不需要填充)
棘手的部分是我不知道 callbackTable 集合中有多少行或多少个单元格,所以我需要循环遍历结果并根据集合中的项目数插入。
我真的可以使用一些帮助,因为我不完全确定从哪里开始。
提前致谢!
【问题讨论】:
-
你不需要循环...... SQL Server 中有 xml 支持,它应该允许你将其作为查询提取。我不熟悉它,但我建议检查 SQL Server XML 文档。
标签: sql sql-server xml loops