Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Trabalhando com o tipo de dados XML do SQL Server


Não tenho certeza se entendi totalmente sua pergunta aqui - ou você está procurando por isso? Você pegaria todos os elementos /things/Fruit como "nós" e os juntaria aos seus "dados base" na myTable - o resultado seria uma linha por elemento XML em seu campo de dados 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

É isso que você está procurando?

Marco