Не зная, как выглядит ваш XML, вот фрагмент кода общего назначения, чтобы дать вам представление о том, как он будет выглядеть:
SELECT
[regular_table_field1],
[regular_table_field2],
[opt_resposne_xml].value('(/rootnode/wrapper/child/@someattribute)[1]', 'int') AS 'someattribute',
[opt_resposne_xml].value('(/rootnode/wrapper/child/@someattribute2)[1]', 'varchar(50)') AS 'someattribute2'
FROM
[optimizations]
WHERE
[opt_concept_id] = '1234'
Если вам нужно «добраться до» столбца XML и извлечь одно значение (из элемента или атрибута XML), вам, в основном, нужно определить XPath для того места, где находится интересующая вас информация и вам необходимо преобразовать его в данный тип данных SQL Server.
Если вам нужно объединить один реляционный перекрестный ряд с несколькими элементами из одного поля XML, вам могут потребоваться другие подходы (CROSS APPLY
).
Также: вам может понадобиться обратить внимание на задействованные пространства имен XML - распространенная ошибка при попытке проанализировать XML внутри SQL Server.