我有一个项目的XML清单。XQuery聚合结果并给出总计
库存清单列出了ID为1的物品有多少,ID为2的物品有多少等(认为每个物料ID代表1个产品)。 然而,这个清单是细分的,取决于特定类型的物品的数量有多少特定的标记。 所以,我让我们说:
Item ID Marked? Qty
1 (no) 500
1 ABC 100
1 (no) 50
1 FFFF 333
2 (no) 10000
....
这IR表示在这样的结构:
<Base>
<Item>
<Id>1</Id>
<Qty>500</Qty>
</Item>
<Item>
<Id>1</Id>
<Qty>100</Qty>
<Mark>ABC</Mark>
</Item>
<Item>
<Id>1</Id>
<Qty>50</Qty>
</Item>
<Item>
<Id>1</Id>
<Qty>333</Qty>
<Mark>FFFF</Mark>
</Item>
<Item>
<Id>2</Id>
<Qty>10000</Qty>
</Item>
...
</Base>
使用XQuery转换我想制作,而不是每个项目ID有多行,每个项目ID有总计行,它将列出每个项目(标记和未标记)的数量总和以及仅标记那些项目数量(具有子标签)的单独总和。我不关心单个标签的内容)。
在什么我想应该是这样表格形式:
Item ID Marked Qty Total Qty
1 433 983
2 0 10000
etc.
在实际的XML格式的转换应该产生这样的:
<Item><Id>1</Id><MarkedQuantity>433</MarkedQuantity><Total>983</Total></Item>
<Item><Id>2</Id><Total>10000</Total></Item>
....
UPD:编辑的清晰度。
您可能会也可能不会过度复杂,但问题很复杂,因此这位读者不知道您在问什么。降低问题太复杂,不被其他人理解,并且不太可能因此而对他们有用。 –
@ C.M.Sperberg-McQueen谢谢。我补充说明。希望这会更有用。 – Gnudiff