Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utilisation du type de données SQL Server XML

Je ne sais pas si j'ai bien compris votre question ici - ou cherchez-vous cela ? Vous saisiriez tous les éléments /things/Fruit des "nœuds" et les croiseriez avec vos "données de base" dans myTable - le résultat serait une ligne par élément XML dans votre champ de données 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

C'est ce que vous cherchez ?

Marc