Запрос столбца varchar для поиска в нем XML-тегов, а затем выполнить поиск по другим таблицам - PullRequest
0 голосов
/ 08 июля 2019

У меня есть столбец, подобный следующему - в моем выборе -

{"Column1":"Column1 Value",
"Column2":Column2 Value,
"Column3":Column3 Value,
"Column4":"Column4 Value",
"Column5":"<Column5 XML><I>Column5 Value to Lookup</I><I>Column5 Value to Lookup</I></Column5 XML Root>",
"Column6":"<Column6 XML><L>Column6 Value to Lookup</L></Loans>",
"Column7":"Column7 XML",
"Column8":"Column8 XML"}

Я хочу найти значения для значения Column5 для Lookup и Column6 Value для Lookup и вернуть его как один и тот же varchar.

Отображается в интерфейсе приложения.

Проблемы с XQuery.

Я пытался использовать функции значения и CROSS APPLY.

DECLARE @xml XML 
SET @xml = 
'
{
"Column1":"Column1Value",
"Column2":Column2Value,
"Column3":Column3Value,
"Column4":"Column4Value",
"Column5":"<Column5XML><I>Column5ValuetoLookup1</I><I>Column5ValuetoLookup2</I></Column5XML>",
"Column6":"<Column6XML><L>Column5ValuetoLookup</L></Column6XML>",
"Column7":"Column7XML",
"Column8":"Column8XML"
}
'

SELECT @xml.query('/Column5XML/I') AS Column5XML 

SELECT @xml.query('distinct-values( data(/Column5XML/I))') AS Column5ValuetoLookup2

Я хочу иметь возможность использовать значения из Column5ValuetoLookup1 и Column5ValuetoLookup для объединения с другой таблицей, выбора всех результатов в другой хранимой процедуре и отправки в интерфейс приложения.

...