0

これの何が問題なのですか?私のタスクは次のとおりです。XML ファイルがあり、Mick ではないすべての都市を表示する必要があります。!!! 都市はユニークではありません。たとえば、Mick-London、Tom-London、Charles-Paris があります。正解はパリのみ。

クエリは SQL Server 2008 用です。ご協力ありがとうございます。

これは XML です。

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])]');
4

1 に答える 1