xquery-3.0 - XQuery - 对具有另一个特定属性值的所有元素的属性求和
问题描述
我需要为每个产品“类型”添加余额,这样剩下的就是一个元素,其中产品“类型”的总余额
这就是我所拥有的
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
这balance
从带有='house' 的prod
元素中选择code
解决方案是
let $sum_val_house := sum($input//prod[@code='house']/@balance)
推荐阅读
- jupyter-notebook - Jupyter 实验室显示在 Anaconda 提示符中找不到“jupyter-lab”
- logstash - Logstash 使用当前年份作为没有年份的时间戳,并显示带有未来日期的事件
- python - 获取:没有为 ufunc lstsq_n 找到与指定签名和转换匹配的循环
- python - 照片不显示在 Django
- .net - BIRT报告收缩问题
- python - 如何将静态代码(读取 1 个文件)转换为循环(读取多个文件)
- sql - SQL检查日期值是否连续5天
- python - 将数据框字符串列更改为日期时间格式 yyymm 格式
- r - 跨越多个列的ggplot构面
- php - 如何使用 php 使 cookie 安全?