我遇到了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()
,但它不起作用。有人能帮助我吗?
您是否期望ManuelGómez教室具有“2”或值“3”或“2,3”或多个课堂元素的价值? –