2017-12-20 22 views
0

book3のタイプを見つけるために、SQL select文で以下のXMLをクエリしようとしています。XML内の次のノードをSQLのテキストコンテンツで選択する

<Book> 
    <Title>Book1</Title> 
    <Type>fiction</Type> 
    <Cost>9.99</Cost> 
</Book> 

<Book> 
    <Title>Book2</Title> 
    <Type>non-fiction</Type> 
    <Cost>5.99</Cost> 
</Book> 

<Book> 
    <Title>Book3</Title> 
    <Type>fiction</Type> 
    <Cost>14.99</Cost> 
</Book> 

<Book> 
    <Title>Book4</Title> 
    <Type>non-fiction</Type> 
    <Cost>19.99</Cost> 
</Book> 
... 

私はテキストとして、このために検索することで、私のSELECT文で「ブック3」タイトルを選択しようとしている、とIE BOOK3を以下のタイプ、フィクション

は、これまでのところ、私は選択を行うことができます以下のようなインデックスによって、私は本当にいくつかの種類のテキスト= 'ブック3'ステートメントを組み込むことによってノードを見つけたいと思っています。

SELECT XML.value( '(/ * //ブック/タイトル/ノード())[3]'、 'NVARCHAR(MAX)') '結果' のよう

私はどのように上慣れていませんよこれを行う(私はこのアプローチにかなり新しい)

誰も私にこれを行う方法のいくつかのポインターを与えることができますか?または、オンラインで良いリソースがあれば、私はこれを読むことができます(SQLでこれを行う方法について少ししか見つからない)

ありがとう!

+0

可能な重複//stackoverflow.com/questions/10344553/how-can-i-query-a-value-in-sql-server-xml-column) – SaggingRufus

+0

実際に使用されているデータベース管理システムを記述するか、タグに追加する必要があります。 SQL Serverについて実際に話しているかどうかを確認するだけです。 – Markus

+0

'Book [Title =" Book3 "]/Type'を試してください。 – Andersson

答えて

0

このクエリは動作するはずです://Book[Title="Book3"]/Type/text()

ヒント:このツールは、あなたのXPathクエリをテストするのに便利かもしれません:[どのように私は、SQL ServerのXML列の値を照会することができます](HTTPSのhttp://www.xpathtester.com/xpath

+1

それは私があなた自身に感謝のために探していたものです。\t 詳細を私に提供してくれたアンダーソン! – user7575401

関連する問題