2014-03-11 3 views
0

Я новичок в xquery и хочу добавить условия on activityStatus как «A» и maritalStatus как «Женатые», чтобы получить пол человека. Я уже создал запрос для добавления условий индивидуально, но я застрял в случае добавления нескольких условий. Любые указатели будут полезны. Спасибо заранее.Несколько условий в xpath

запрос, чтобы получить пол на основе Семейное положение:

SELECT PersonInfo.gender_1 
    from personData personData, 
    xmltable('$personData/Person/personDataCollection/ 
       personData[(maritalStatus=("Married"))]' 
    passing personData."XMLDATA" as "personData" 
    columns gender_1 varchar(12) path 'gender' 
) PersonInfo 

... и документ ...

<?xml version="1.0" encoding="UTF-8"?> 
<Person> 
    <activityStatus>A</activityStatus> 
    <personDataCollection> 
     <personData> 
     <personName> 
      <lastName>ABC</lastName> 
      <firstName>XYZ</firstName> 
     </personName> 
     <addressCollection> 
      <address> 
       <line1>123</line1> 
       <city>QWERTY</city> 
       <state>ASDF</state> 
       <postalCode>147852</postalCode> 
      </address> 
     </addressCollection> 
     <maritalStatus>Married</maritalStatus> 
     <gender>M</gender> 
     </personData> 
    </personDataCollection> 
</Person> 
+0

Традиционный XPath не интегрируется и не вызывается из SQL вообще. Какие расширения поставщика баз данных вы используете выше? –

ответ

2

Это звучит, как вы просто хотите добавить второй предикат ваш XPath. Если это так, то вы почти закончили:

$personData/Person[activityStatus="A"]/personDataCollection/personData[maritalStatus="Married"] 
Смежные вопросы