У меня есть столбец в БД SQL Server 2005, который содержит XML, хранящийся в виде строки.Внутри этого XML находится следующее дерево элементов
<DriverDetails>
<DriverDetail>
<ID>2334</ID>
<PRN>1</PRN>
</DriverDetail>
<DriverDetail>
<ID>2335</ID>
<PRN>2</PRN>
</DriverDetail>
<DriverDetail>
<ID>2336</ID>
<PRN>3</PRN>
</DriverDetail>
<DriverDetail>
<ID>2337</ID>
<PRN>4</PRN>
</DriverDetail>
</DriverDetails>
Я получил это, используя:
CONVERT(xml, detailRiskInformation).query('
//DriverDetails
')
Мне нужно запросить каждый идентификатор в каждом узле DriverDetail, чтобы увидеть его, если он существует в другомтаблица, называемая DriverDetails.Соответствующий столбец - [DriverDetail]. [Id].
Теперь я могу запустить XQuery следующим образом:
CONVERT(xml, detailRiskInformation).query('
for $i in //DriverDetail
return data( $i )
')
Однако он просто возвращает один результат с 4 идентификаторами, разделенными пробелами.
Как выполнить итеративный запрос для каждого из этих идентификаторов в одном запросе?Или, если нет, как я могу получить их с помощью курсора или чего-то более умного?
Заранее спасибо Ant