ПРИСОЕДИНИТЬСЯ, используя «НРАВИТСЯ» на XML-узле? - PullRequest
1 голос
/ 30 июня 2011

У меня есть представление, которое объединяет таблицы, используя совпадение на узле xml, как в этом примере:

....CROSS APPLY xmlData.Nodes('/element/subElement')....

Проблема в том, что теперь у нас есть элементы с именами 'element2' и 'element3', которые нене забрать.Есть ли способ включить их, почти используя LIKE на узлах, чтобы также их подобрать?

Что-то вроде этого:

....CROSS APPLY xmlData.Nodes('/element%/subElement')....

или это случай добавления этихдополнительные узлы в представлении вручную?

Спасибо

1 Ответ

3 голосов
/ 30 июня 2011

Вы можете использовать выражение XQuery

CROSS APPLY xmlData.nodes('/*/subElement')

Обновление

Если вам нужно быть более конкретным, вы можете использовать

CROSS APPLY xmlData.nodes('/*[substring(local-name(),1,7)="element"]/subElement')

в theroy starts-with будет лучше, чем substring, но он не работает в SQL-server-2005, и я не могу проверить с SQL-server-2008

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...