2011-12-13 2 views
0

У меня есть таблица с столбцом xml с именем data (xml имеет узел id) и вторую таблицу с столбцом idSecond.XML-столбец в таблице со вступлением в SQL Server

Я хотел бы выполнить соединение между этими двумя таблицами, так что data[id] = secondTable.ID

Что бы синтаксис для этого в SQL Server 2005?

спасибо за любые подсказки

ответ

3

Используйте xml.value() метод проецирования идентификатор узла, а затем присоединиться на проекционном значения. Например:

with x as (
select xmlcolumn.value(N'xquery_for_node...', N'type') as id, 
    ... 
from xmltable) 
select ... 
from x join secondtable on x.id = ... 

Фактический синтаксис и использование xquery зависит от схемы ваших таблиц и содержимого XML. Если в проекте есть несколько идентификаторов узлов, используйте вместо этого xml.nodes() вместо cross apply.

Смежные вопросы