【发布时间】:2017-05-04 14:09:33
【问题描述】:
我在 Xquery 中的一个练习有问题。
这是练习:
如果他的课程的所有地点都已完成,那么获取以 Michael 开头的每位教师每月将获得的收益(所有教师的总和)。
这是xml文件:
<shop>
<training>
<course id="1">
<name>Java</name>
<price fee="Monthly">27</price>
<places>20</places>
<teacher>Michael James</teacher>
</course>
<course id="2">
<name>Android</name>
<price fee="Monthly">47</price>
<places>15</places>
<teacher>Michael Pit</teacher>
</course>
<course id="3">
<name>SEO</name>
<price fee="Monthly">37</price>
<places>55</places>
<teacher>Michael Smith</teacher>
</course>
<course id="4">
<name>HTML</name>
<price fee="Monthly">99</price>
<places>10</places>
<teacher>Michael Kit</teacher>
</course>
<course id="5">
<name>CSS</name>
<price fee="Monthly">749</price>
<places>5</places>
<teacher>George Pet</teacher>
</course>
我正在尝试这样做:
` for $x in doc("LM")//course[starts-with(teacher, "Michael")]
let $monthly-profits-by-course := $y/places * $y/price
let $total-profits := sum($monthly-profits-by-course)
return
<courses>
<michael_profits>{$total-profits}</michael_profits>
</courses>`
这是结果:
<courses>
<michael_profits>540</michael_profits>
</courses>
<courses>
<michael_profits>705</michael_profits>
</courses>
<courses>
<michael_profits>2035</michael_profits>
</courses>
<courses>
<michael_profits>990</michael_profits>
</courses>
它按课程列出了每月的利润,但我需要总利润,我不知道该怎么做。我试过只使用“let”而不是“for”,但这不允许我将位置乘以价格,我不知道为什么。有人可以帮我吗?非常感谢。
【问题讨论】:
-
请附上您已经尝试过的代码。另外,请遵循stackoverflow.com/help/how-to-ask 中的其他建议。
标签: xquery