XML alan içeren bir tablom var. İçerdiği tipik XML; i yaklaşık 50 satır var benim tablodaSQL Server XML veri türü ile çalışma
<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>
i iki alan, Omid (int birincil anahtar) ve omText (benim xml verileri) ile sadece endişeleniyorum.
bütün tablodaki tüm xml verileri arasında, demenin bir yolu ... başlık X. nerede bana xmlElements tüm vermek Veya bana sayımını vermeye ne i elde etmek çalışıyorum olduğunu 55.
imageId kullanan tüm öğeler Verileri almak için XML veri türü VALUE ve QUERY işlevlerini kullanıyorum.
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
Yalnızca, aradığım kimliğin, belgede ilk sırada bulunduğu yerde çalışır. Xml'nin tümünü aramıyor gibi görünüyor.
Temel olarak sonuçlar, TABLOdaki her giriş için bir satır ile birlikte gelir, her bir eşleşme için bir satırın olması gerektiğini düşünürüm ... Bu grup için bir grup yazmanın nasıl başlayacağından tam olarak emin değilim.
Olması gerekenden daha zor oluyorum gibi hissetmeye başladım ...... düşünceler & fikirler lütfen.
O Bir yıldızsın ..... olduğunu. Alkışlar :) SQL XML manipülasyonunu okumak için herhangi bir iyi kaynak yönünde bana işaret edebilirsin sanmıyorum ??? – GordonB
Yardım edebilirim, Gordon! Şimdiye kadar bulduğum en iyi SQL XML DML makalesi oldukça eski, ama yine de çok yararlı: http://www.15seconds.com/Issue/050803.htm –
Veya buradaki belki: http://www.sqlservercentral.com/ Makaleler/SQL + Sunucu + 2005/XML / –