XQueryに問題があります。論理:XQUERYで繰り返しを削除するアイテムをどのように表示できますか?
"Manuel"で始まるすべての教師の名前を取得し、反復を削除し、各教師のクラスのすべての教室を示します。最短のものから最長のものまで、順番に並べます。
私はこの行っている:
for $x in (doc("LMSGI06")//course[starts-with(teacher, "Manuel")])
order by string-length($x/teacher)
return
<teacher>
<name>{data(distinct-values($x/teacher))}</name>
<classroom>{data($x/classroom)}</classroom>
</teacher>`
これは私のクエリの結果である:
<teacher>
<name>Manuel Gómez</name>
<classroom>2</classroom>
</teacher>
<teacher>
<name>Manuel Gómez</name>
<classroom>3</classroom>
</teacher>
<teacher>
<name>Manuela Berenguel</name>
<classroom>1</classroom>
</teacher>
<teacher>
<name>Manuel Antonio López</name>
<classroom>1</classroom>
</teacher>
XMLの構造はこれです:私はマヌエルが必要
<shop>
<education>
<course id="1">
<teacher>Manuela Berenguel</teacher>
<classroom>1</classroom>
</course>
</education>
</shop>
をゴメスは一度しか出てこないが、どういうわけか分からない。私はdistinct-values()
を使用していますが、動作しません。誰か助けてくれますか?
マヌエル・ゴメスの教室の値が「2」か「3」か「2,3」か、複数の教室の要素があると思いますか? –