Friday, March 27, 2015

How do I query this xml?


create table XmlTable(xmlid int,XmlColumn xml)

insert into XMLTable(xmlid,XMLColumn)
values (1,'<Results>
<search>
<criteria field="city" value="New York" />
<criteria field="state" value="NY" />
</search>
<result max="22629" min="250"/>
</Results>')


SELECT
x.XmlId,
b.value('(@value)[1]', 'varchar(50)') as [city],
a.value('(@max)[1]', 'varchar(50)') as [max]

From
XmlTable As x
Cross Apply XmlColumn.nodes('/Results/search/criteria') b(b)
Cross Apply XmlColumn.nodes('/Results/result') a(a)
where b.value('(@field)[1]', 'varchar(50)')='City'


drop table xmltable





Hope it Helps!!


No comments:

Post a Comment