XMLフィールドを持つテーブルがあります。 これに含まれる典型的なXMLは次のとおりです。私は約50行を持って私のテーブルでSQL Server XMLデータ型の操作
<things>
<Fruit>
<imageId>39</imageId>
<title>Apple</title>
</Fruit>
<Fruit>
<imageId>55</imageId>
<title>Pear</title>
</Fruit>
<Fruit>
<imageId>76</imageId>
<title>Grape</title>
</Fruit>
</things>
、私は2つのフィールドのみ、OMID(int型主キー)とomText(私のXMLデータ)と心配です。私が達成しようとしている何
は、全体のテーブル内のすべてのXMLデータを越え、というのが道です...私のタイトルはXである。xmlElementsのすべてを与えるか、または私のカウントを与えますimageIdを55とするすべてのアイテム。
私は、XMLデータ型のVALUEおよびQUERY関数を使用してデータを取得しています。
select omID,
omText.query('/things/Fruit')
,cast('<results>' + cast(omText.query('/things/Fruit') as varchar(max)) + '</results>' as xml) as Value
from dbo.myTable
where omText.value('(/things/Fruit/imageId)[1]', 'int') = 76
私が探しているIDがドキュメントの最初のIDである場合にのみ動作します。それはXMLのすべてを検索するようではありません。
基本的には、結果セットはTABLEの各エントリごとに1つの行が戻ってきます。これは、一致する要素ごとに1つの行を持つ必要があると思います...このthoのグループバイナリの書き方を開始する方法は正確にはわかりません。
私はこれをもっと難しくしているように感じ始めています......思考&アイデアをお願いします。私が達成しようとしている何
これは.....あなたはスターです。乾杯:) あなたはSQL XML操作上で読んでいくためにまともなリソースの方向に私を指すことができますか? – GordonB
私は助けてくれるとうれしい、ゴードン!私が今までに見つけた最良のXML XML DMLの記事はかなり古いですが、それでも非常に便利です:http://www.15seconds.com/Issue/050803.htm –
これは多分ここにあります:http://www.sqlservercentral.com/記事/ SQL + Server + 2005/XML / –