2017-04-27 4 views
0
내가 부모 요소 내 쿼리입니다 XQuery를

XML XQuery를 여러 자식 요소

let $d:=doc("/Users/stefan.kenyon/company.xml") 
for $e in $d/companyDB/employees/employee[dependents] 
return $e/lname 

사용하여 둘 이상의 자식 요소가 있는지 여부를 확인 할 수있는 방법을 찾아야하고 부양 가족으로 모든 직원을 반환

.

내가 얼마나 도움이 필요한지는 부양 가족의 수를 기준으로 직원을 분류하는 방법입니다. 그래서 수정 된 쿼리가 반환됩니다

직원 # 두 부양을 가지고 1

<dependent> 
     <dependentName>Michael</dependentName> 
     <sex>M</sex> 
     <dob>01-JAN-1978</dob> 
     <relationship>Son</relationship> 
    </dependent> 
    <dependent> 
     <dependentName>Alice</dependentName> 
     <sex>F</sex> 
     <dob>31-DEC-1978</dob> 
     <relationship>Daughter</relationship> 
    </dependent> 
<dependent> 

,

그러나 반환하지

직원 번호 하나를 가지고 2

<dependents> 
    <dependent> 
     <dependentName>Johnny</dependentName> 
     <sex>M</sex> 
     <dob>04-APR-1997</dob> 
     <relationship>Son</relationship> 
    </dependent> 
<dependent> 

매달린.

감사합니다.

+0

샘플 XML 입력을 게시하십시오 ... – har07

+0

그리고 둘 이상의 종속 만 있거나 어떤 직원이있는 직원을 선택 하시겠습니까? – har07

답변

1

입력 샘플 중 어느 것도 올바른 형식의 XML이 아니므로 약간의 추측을해야합니다. 그러나 두 개 이상의 부양 가족이 있는지 여부를 테스트 할 수있는 간단한 방법이 있는지 여부를 테스트하는 것입니다 따라 [2] 당신에게 같은 것을주는 존재 : 당신이 더 많은 읽을 것을 선호하는 경우

for $e in $d/companyDB/employees/employee[dependents/dependent[2]] 

, 당신이 선호하는 수를

for $e in $d/companyDB/employees/employee[count(dependents/dependent) ge 2]