查询varchar列以在其中查找XML标记,然后与其他表一起执行查找

时间:2019-07-08 20:59:45

标签: sql-server-2014

我的选择栏中有以下内容-

{"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"}

我要查找“列5值以查找”和“列6值以查找”的值,并将其作为相同的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

我希望能够使用Column5ValuetoLookup1Column5ValuetoLookup中的值与另一个表联接,并在另一个存储过程中选择所有结果,然后发送到应用程序前端。

0 个答案:

没有答案