XQuery에 문제가 있습니다. 논리 :XQUERY로 반복을 제거하는 항목을 어떻게 표시 할 수 있습니까?
"Manuel"로 시작하는 모든 선생님들의 이름을 얻으십시오. 반복을 생략하고 각 선생님 반의 모든 강의실을 나타냅니다. 가장 짧은 것부터 가장 긴 것까지 이름순으로 정렬하십시오.
<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>
내가 마누엘이 필요
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>`
이 내 쿼리의 결과입니다
나는이 짓을 고메즈 한 번만 나타나지만 어떻게 모르겠어. 나는 distinct-values()
을 사용하고 있지만 작동하지 않습니다. 누군가 나를 도울 수 있습니까?
Manuel Gomez 교실의 값이 "2"또는 값 "3"또는 "2,3"이거나 여러 개의 교실 요소가 필요하십니까? –