Я пытаюсь запросить определенное значение в поле XML.Я видел много примеров, но они, похоже, не являются тем, что я ищу
Предположим, мое поле xml называется XMLAttributes и table TableName, а полное значение xml выглядит следующим образом:
<Attribute name="First2Digits" value="12" />
<Attribute name="PurchaseXXXUniqueID" value="U4RV123456762MBE79" />
(хотя поле xml часто будет иметь другие атрибуты, а не только PurchaseXXXUniqueID)
Если я ищу определенное значение в имени атрибута PurchaseXXUniqueID - скажем, U4RV123456762MBE79 - как бы янаписать запрос?Я считаю, что это будет что-то вроде:
select *
from TableName
where XMLAttributes.value('(/path/to/tag)[1]', 'varchar(100)') = '5FTZP2QT8Z3E2MAV2D'
... но мне нужно выяснить путь / к / тегу.
Или, возможно, есть другие способы получения нужных мне значений.
Подводя итог - мне нужно получить все записи в таблице, где значение определенного атрибута в поле xml соответствуетзначение я передам в запрос.
спасибо за помощь!Сильвия
edit: я пытался сделать это проще, но в случае, если это что-то изменит - в конечном итоге у меня будет временная таблица из 50 или около того потенциальных значений для поля PurchaseXXXUniqueID.Для этого я хочу получить все соответствующие записи из таблицы с полем XML.