Non sono sicuro di aver capito completamente la tua domanda qui - o stai cercando questo? Prenderesti tutti gli elementi /things/Fruit a "nodi" e li uniresti ai tuoi "dati di base" nella mia tabella - il risultato sarebbe una riga per elemento XML nel tuo campo dati 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
È quello che stai cercando?
Marco