5

SQL Server 2012 データベースに格納されている XML データのクエリで問題が発生しています。クエリしたいノードツリーは次の形式です-

<eForm>
   <page id="equalities" visited="true" complete="true">
      <Belief>
         <item selected="True" value="Christian">Christian</item>
         <item selected="False" value="Jewish">Jewish</item>
         ...
      </Belief>
   </page>
</eForm>

私がやりたいことは、選択された属性が真に等しい項目ノードの値属性を返すことです。SQL での XML のクエリに関するチュートリアルをいくつか読みましたが、コードを正しく理解できないようです。

ありがとうスチュ

4

3 に答える 3

1
select
    Value.value('(eForm/page/Belief/item[@selected="True"])[1]/@value', 'nvarchar(max)')    
from test

SQL フィドルのデモ

于 2013-08-16T10:12:17.920 に答える