sql >> Database teknologi >  >> RDS >> Sqlserver

Arbejde med SQL Server XML-datatypen

Ikke sikker på, om jeg helt forstod dit spørgsmål her - eller leder du efter dette? Du ville gribe alle /things/Fruit-elementerne en "noder" og krydsforene dem med dine "basedata" i myTable - resultatet ville være en række pr. XML-element i dit XML-datafelt:

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

Er det det, du leder efter?

Marc




  1. vælg de TOP N rækker fra en tabel

  2. Kan ikke validere, med novalidate mulighed

  3. Tablix:Gentag overskriftsrækker på hver side, der ikke virker - Report Builder 3.0

  4. Opdeling af strengen i sql server