我对这个条款的目标是列出住在旧金山但在硅谷工作的员工。现在我的条款正在努力找出哪些员工住在 San Fran,但我不知道如何加入 EmployeeList 和 WorkInfo 这两个列表,以便获取住在 San Fran 的员工并找出其中的哪些名字在硅谷工作。
到目前为止,这是我在条款中的内容:
for $x in /EmpDatabase/PersonList/Contents/Person
where $x/City='San Fran'
order by $x/Name
return $x/Name
这是我的 XML 数据文件:
<EmpDatabase>
<PersonList Type="Employee">
<Title Value="Employee List"/>
<Contents>
<Person>
<Name>Susan L. Anderson</Name>
<City>San Fran</City>
<Gender>F</Gender>
</Person>
<Person>
<Name>Dan L. Brady</Name>
<City>Sacramento</City>
<Gender>M</Gender>
</Person>
<Person>
<Name>Peter K. Chen</Name>
<City>San Fran</City>
<Gender>M</Gender>
</Person>
</Contents>
</PersonList>
<CompanyList Type="Company">
<Title Value="Company List"/>
<Contents>
<Company>
<Name>Google</Name>
<City>Silicon Valley</City>
</Company>
<Company>
<Name>Riot</Name>
<City>LA</City>
</Company>
</Contents>
</CompanyList>
<InfoList Type="Works">
<Title Value="Works List"/>
<Contents>
<Works>
<Name>Susan L. Anderson</Name>
<Company>Google</Company>
<Salary>48000</Salary>
</Works>
<Works>
<Name>Dan L. Brady</Name>
<Company>Google</Company>
<Salary>42000</Salary>
</Works>
<Works>
<Name>Peter K. Chen</Name>
<Company>Riot</Company>
<Salary>53000</Salary>
</Works>
</Contents>
</InfoList>
</EmpDatabase>
自然加入是解决这个问题的正确方法吗?自然连接是如何用 XQuery 编写的?我是否需要在不同的文件中写一个单独的条款来列出在硅谷工作的员工,然后以某种方式加入这两个条款的结果?
任何帮助是极大的赞赏!