我遇到了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」或多個課堂元素的價值? –