我有一個項目的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