2012-11-22 2 views
2

xml 열이있는 SQL Server 2008 R2의 테이블이 있습니다. 여기 sql-xml : 노드 컬렉션 선택

가있는 XML 문서의 샘플입니다

<ROOT> 
    <SITE_CHAR> 
    <SITE_NAME>ScrivaniaEle</SITE_NAME> 
    <SITE_RESPONSIBLE>database</SITE_RESPONSIBLE> 
    <SITE_IGBP>URB</SITE_IGBP> 
    <SITE_LAT>42.42716</SITE_LAT> 
    <SITE_LON>12.09358</SITE_LON> 
    <ELEVATION>323</ELEVATION> 
    </SITE_CHAR> 
    <SPP_O> 
    <VALUE>BRNA</VALUE> 
    <SPP_DATE>20090409</SPP_DATE> 
    </SPP_O> 
    <SPP_O> 
    <VALUE>HEAN3</VALUE> 
    <SPP_DATE>20090409</SPP_DATE> 
    </SPP_O> 
    <SPP_O> 
    <VALUE>TRIN3 </VALUE> 
    <SPP_DATE>20091111</SPP_DATE> 
    </SPP_O> 
    <SPP_U> 
    <VALUE>HEAN3</VALUE> 
    <SPP_DATE>20090409</SPP_DATE> 
    </SPP_U> 
    <SPP_U> 
    <VALUE>TRIN3 </VALUE> 
    <SPP_DATE>20091111</SPP_DATE> 
    </SPP_U> 
    <LAI> 
    <VALUE>0.35863933908505</VALUE> 
    <LAI_DATE>20080319</LAI_DATE> 
    <LAI_COMMENT>"number of samples: 14"</LAI_COMMENT> 
    <LAI_TECHNIQUE>"ACUPAR"</LAI_TECHNIQUE> 
    </LAI> 
</ROOT> 
내가 한 번만 첫 번째 자식 노드를 선택하는 방법이 있는지 알고 싶습니다

; 즉, 값 SITE_CHAR, SPP_O, LAI 등을 한 번, 자식 노드의 값 및 내부 특성에서 독립적으로 검색하려고합니다.

+0

보십시오 [T-SQL을 사용하여 XML 파일 읽기의 간단한 예제] (http://blog.sqlauthority.com/2009/02/13/sql-server-simple-example-of-reading-xml-file) -using-t-sql /) –

답변

1

시도 뭔가이 같은 사전에

고맙습니다 : 전체 예를 들어

SELECT 
    NodeName = XmlRoot.value('local-name(.)', 'varchar(50)') 
FROM 
    dbo.YourTable 
CROSS APPLY 
    XmlContent.nodes('/ROOT/*') AS Tbl(XmlRoot) 

See this SQL Fiddle demo.

+0

위대한! 완벽하게 작동합니다. 감사합니다. – bitdiego