我的下面的查询只对一个XML文件有效,但我需要查询一堆文件的数据,因为这些文件的结构都是一样的。请你帮忙。
declare @x xml = (select xmldata from xmltbl)
SELECT Agency.a.value('(AccidentReportNumber-AllPages/text())[1]', 'varchar(20)') AS [AccidentReportNumber],
Agency.a.value('(CollisionOccurredDate-AllPages/text())[1]', 'varchar(20)') AS [CollisionOccurredDate],
Agency.a.value('(Time-AllPages/text())[1]', 'varchar(20)') AS [Time],
Agency.a.value('(MotorVehicleInvolvedWithI-AllPages/text())[1]', 'varchar(20)') AS [MotorVehicleInvolvedWithI],
Agency.a.value('(PedestrianActionA-AllPages/text())[1]', 'varchar(20)') AS [PedestrianAction],
Agency.a.value('(NumberInjured-AllPages/text())[1]', 'varchar(20)') AS [NumberInjured],
Driver.d.value('(AddressFullText/text())[1]','nvarchar(60)') AS AddressFullText
FROM @x.nodes('/agency') AS Agency(a)
CROSS APPLY Agency.a.nodes('TrafficUnit[TrafficUnit_Number="2"]/Driver') AS Driver(d)