2
我试图获取一些xml,看起来像我的结构不适合我检查的任何学习示例,我不能做select ... from xml.nodes。我如何获得度量id(aba,cbp)和ABA值(= 777)的值的所有值。 tsql for xml,complex xml
这是我的第一个办法,这是行不通的
SELECT xmldata
, n0.b.value('(@type)[1]', 'varchar(100)') as c1 --< 'GGM'
, n.b.value('(@id)[1]', 'varchar(100)') as m1 --< ABA
, n.b.value('(@id)[2]', 'varchar(100)') as m2 --< CBP
FROM z
CROSS APPLY z.xmldata.nodes('//submission/component/audit/data/measures/measure') AS n(b)
CROSS APPLY z.xmldata.nodes('//submission/component') AS n0(b)
下面
是试验载荷:
DECLARE @MyXML XML;
SET @MyXML =
('<?xml version="1.0" encoding="UTF-8"?>
<submission vendor-id="9999" guid="1234-5678-4578-4784" xmlns="http://www.ncqa.org/ns/2006/idss/hedis">
<metadata>
<version>41</version>
<timestamp/>
<sub-id>1434588</sub-id>
<org-id/>
<org-name/>
<product-line>NC15</product-line>
<reporting-product/>
<special-project/>
<special-area/>
<hcfa-contract/>
<hcfa-area/>
<year-end-date>12/31/2016</year-end-date>
<audit>true</audit>
</metadata>
<component type="GGM">
<audit>
<measures>
<measure id="aba">
<reported>true</reported>
<benefit>true</benefit>
<data-elements>
<data-element id="rate">
<audit-designation>false</audit-designation>
<comment/>
</data-element>
</data-elements>
</measure>
<measure id="cbp">
<reported>true</reported>
<benefit>true</benefit>
<data-elements>
<data-element id="rate">
<audit-designation>false</audit-designation>
<comment/>
</data-element>
</data-elements>
</measure>
</measures>
<data>
<measures>
<measure id="aba" measure-version-id="44444-222222-33333">
<data-elements>
<data-element id="den">
<value>777</value>
</data-element>
<data-element id="elignu">
<value>48</value>
</data-element>
<data-element id="eligpop">
<value>777</value>
</data-element>
</data-elements>
</measure>
<measure id="cbp" measure-version-id="11111-222222-33333">
<data-elements>
<data-element id="admexc">
<value>0</value>
</data-element>
<data-element id="collmeth">
<value>H</value>
</data-element>
<data-element id="dentot">
<value>355</value>
</data-element>
<data-element id="eligtot">
<value>123</value>
</data-element>
<data-element id="empexc">
<value>0</value>
</data-element>
</data-elements>
</measure>
</measures>
</data>
</audit>
</component>
</submission>')
SELECT @MyXML as xmldata into z;
Thx为*测试负载*! +1从我身边 – Shnugo