무엇이 문제입니까 ??? 내 작업은 다음입니다 : XML 파일이 있으며 모든 도시를 표시해야합니다. wheare는 Mick이 아닙니다. !!! 도시는 고유하지 않습니다. 예를 들어 저는 Mick-London, Tom-London, Charles-Paris입니다. 정답은 파리뿐입니다.SQL Server의 XML에 대한 XPath
쿼리는 SQL Server 2008입니다. 감사합니다.
declare @x xml
set @x = '<database>
<persons>
<person fio="Mick" id="1" />
<work city="London" size="450" />
<state>United Kingdom </state>
</persons>
<persons>
<person fio="Tom" id="8" />
<work city="London" size="500" />
<state>UK</state>
</persons>
<persons>
<person fio="Charles" id="9" />
<work city="Paris" size="450000" />
<state>Frace</state>
</persons>
<persons>
<person fio="Some_name1" id="10" />
<work city="Brussels" size="30000" />
<state>Belgium</state>
</persons>
<persons>
<person fio="Some_name2" id="11" />
<work city="Munich" size="30000" />
<state>Germany</state>
</persons>
</database>'
내 현재 스크립트는 다음과 같습니다 :
select @x.query('//work[not(//person[@fio="Mick" and @city = this/../work/@city])]');
왜 대답 파리 만? 믹은 런던에서만 ... – Szymon
죄송합니다. 혼란스러워합니다. 이 XML 대답은 파리, 브뤼셀, 뮌헨입니다. – Tigran