Ich habe ein Problem mit einer Übung in Xquery.Wie kann ich eine for-Schleife in Xquery hinzufügen?
Dies ist die Übung:
Man bekommt, was jeder Lehrer pro Monat (die Summe aller) Name mit Michael beginnt, das gewinnen würde, wenn alle Plätze seiner Kurse abgeschlossen wurden.
Und das ist die XML-Datei:
<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>
ich, dies zu tun versuche:
` 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>`
Dies ist das Ergebnis:
<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>
Es Liste s die monatlichen Gewinne natürlich, aber ich brauche die gesamten Gewinne und ich weiß nicht, wie kann ich das tun. Ich habe es nur mit "let" anstatt "for" versucht, aber das erlaubt mir nicht, die Plätze nach dem Preis zu multiplizieren, ich weiß nicht warum. Jemand könnte ich bitte helfen? Vielen Dank.
Bitte geben Sie an, welchen Code Sie bereits ausprobiert haben. Befolgen Sie auch die anderen Hinweise in http://stackoverflow.com/help/how-to-ask. – BPS