0

我是 xquery 的新手,想将 activityStatus 的条件添加为“A”,将 maritalStatus 的条件添加为“Married”以获取人的性别。我已经创建了单独添加条件的查询,但在添加多个条件时有点卡住了。任何指针都会有所帮助。提前致谢。

根据婚姻状况查询性别:

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>
4

1 回答 1

3

听起来您只想向 XPath 添加第二个谓词。如果是这样的话,那么你几乎完成了:

$personData/Person[activityStatus="A"]/personDataCollection/personData[maritalStatus="Married"]
于 2014-03-11T22:43:34.463 回答