Nie jesteś pewien, czy całkowicie zrozumiałem twoje pytanie tutaj - czy szukasz tego? Wszystkie elementy /things/Fruit zostałyby przejęte jako „węzły” i krzyżowo połączone z „danymi podstawowymi” w myTable – wynikiem byłby jeden wiersz na element XML w polu danych XML:
select
omID,
T.Fruit.query('.')
from
dbo.myTable
cross apply
omText.nodes('/things/Fruit') as T(Fruit)
where
T.Fruit.value('(title)[1]', 'varchar(50)') = 'X'
select
count(*)
from
dbo.myTable
cross apply
omText.nodes('/things/Fruit') as T(Fruit)
where
T.Fruit.value('(imageId)[1]', 'int') = 55
Czy tego właśnie szukasz?
Marek