Ich habe eine XML-Spalte, die Informationen über meine Spiele enthält. Hier ist ein Beispiel für die Informationen, wie sie aussehen.
<game xmlns="http://my.name.space" >
<move>
<player>PlayerA</player>
<start movetype="Move">EE5</start>
<end movetype="Move">DF6</end>
<movetime>PT1S</movetime>
</move>
<move>
<player>PlayerB</player>
<start movetype="Move">CG7</start>
<end movetype="Move">DE6</end>
<movetime>PT3S</movetime>
</move>
<move>
<player>PlayerA</player>
<start movetype="Move">FD3</start>
<end movetype="Move">EG8</end>
<movetime>PT4S</movetime>
</move>
</game>
Ich versuche, eine XML-Abfrage zu entwerfen, um die Summe meiner movetime-Elemente zu ermitteln. Grundsätzlich benötige ich die Summe der Bewegungszeit jedes Spielers. Mit dem obigen Beispiel hätte SpielerA eine Gesamtbewegungszeit von 5 Sekunden und SpielerB eine Gesamtbewegungszeit von 3 Sekunden.
Hier ist die XML-Abfrage, mit der ich derzeit gearbeitet habe
SELECT GameHistory.query('declare default element namespace "http://my.name.space"; data(/game/move/movetime)') AS Value FROM GamesWHERE Id=560
Ich bin ein Neuling in Sachen XSLT / XPATH-Funktionen :P
UPDATE
Das Movetime-Element enthält derzeit eine vollständige Dauer; wenn der Spieler also 1:1:23 für eine Bewegung benötigt, wird sie als PT1H1M23S gespeichert.
Aber wenn es einfacher ist, kann ich das so ändern, dass nur die Gesamtsekunden gespeichert werden.