2
在下面的xml中,有兩種與部件和訂單相關的信息。 XML:如何在XQuery中獲取節點值的總和?
<mo>
<parts>
<part pno="10506">
<pname>Land Before Time I</pname>
<qoh>200</qoh>
<price>319.99</price>
<level>20</level>
</part>
<part pno="10000">
<pname>Bottle</pname>
<qoh>2</qoh>
<price>3.00</price>
<level>2</level>
</part>
<part pno="10508">
<pname>Land Before Time 3</pname>
<qoh>202</qoh>
<price>2.00</price>
<level>22</level>
</part>
<part pno="10509">
<pname>Cycle</pname>
<qoh>202</qoh>
<price>1.00</price>
<level>22</level>
</part>
</parts>
<orders>
<order ono="1000" >
<receivedDate>1967-08-17</receivedDate>
<shippedDate>1967-08-13</shippedDate>
<items>
<item>
<partNumber>10508</partNumber>
<quantity>2</quantity>
</item>
</items>
</order>
<order ono="1001" >
<receivedDate>1968-08-14</receivedDate>
<shippedDate>1968-08-11</shippedDate>
<items>
<item>
<partNumber>10000</partNumber>
<quantity>2</quantity>
</item>
</items>
</order>
<order ono="1022">
<receivedDate>1995-02-14</receivedDate>
<shippedDate>1995-02-13</shippedDate>
<items>
<item>
<partNumber>10000</partNumber>
<quantity>1</quantity>
</item>
<item>
<partNumber>10508</partNumber>
<quantity>2</quantity>
</item>
<item>
<partNumber>10509</partNumber>
<quantity>3</quantity>
</item>
</items>
</order>
</orders>
</mo>
要求:我想通過XQuery來獲得產品的總價格,以1022。我已經寫了下面的XQuery讓零件價格的總和,從而沒有1022
的XQuery:
for
$o in /mo/orders/order,
$p in /mo/parts/part
where
data($o/@ono) = ("1022")
and
data($p/@pno) = $o/items/item/partNumber
return fn:sum($p/price)
但是,這個查詢返回的部分價格,但不是總價格。 其結果是:3 2 1
任何人都知道如何獲得價格總和?
您忘記了與查詢中的項目數相乘。 :) – 2013-04-21 10:45:51