XQuery - 具有另一个特定属性值的所有元素的总和属性
XQuery - Sum attributes for all element which have another specific attribute value
我需要为每个产品“类型”添加余额,这样剩下的就是产品“类型”的总余额中的一个元素
这就是我的
let $input := <products>
<prod balance="20000" code="car"/>
<prod balance="50000" code="house"/>
<prod balance="50000" code="car"/>
</products>
let $sum_val_car := sum($input//prod/@balance )
let $count_val_car := count($input//prod[@code='car'])
let $sum_val_house := sum($input//prod/@balance)
let $count_val_house := count($input//prod[@code='house'])
return <products>
<prod count="{$count_val_car}" balance="{$sum_val_car}" code="car"/>
<prod count="{$count_val_house}" balance="{$sum_val_house}" code="house"/>
</products>
我需要以某种方式修改 $sum_val_car
和 $sum_val_house
以仅将具有 code
属性 eqaul 的元素与相应的值相加。有办法吗?
$input//prod[@code='house']/@balance
这从 prod
个元素中选择 balance
code
='house'
解决方案就是
let $sum_val_house := sum($input//prod[@code='house']/@balance)
我需要为每个产品“类型”添加余额,这样剩下的就是产品“类型”的总余额中的一个元素
这就是我的
let $input := <products>
<prod balance="20000" code="car"/>
<prod balance="50000" code="house"/>
<prod balance="50000" code="car"/>
</products>
let $sum_val_car := sum($input//prod/@balance )
let $count_val_car := count($input//prod[@code='car'])
let $sum_val_house := sum($input//prod/@balance)
let $count_val_house := count($input//prod[@code='house'])
return <products>
<prod count="{$count_val_car}" balance="{$sum_val_car}" code="car"/>
<prod count="{$count_val_house}" balance="{$sum_val_house}" code="house"/>
</products>
我需要以某种方式修改 $sum_val_car
和 $sum_val_house
以仅将具有 code
属性 eqaul 的元素与相应的值相加。有办法吗?
$input//prod[@code='house']/@balance
这从 prod
个元素中选择 balance
code
='house'
解决方案就是
let $sum_val_house := sum($input//prod[@code='house']/@balance)