当前位置: 代码迷 >> Sql Server >> 请ky_min进来一下,就刚刚的有关问题:)
  详细解决方案

请ky_min进来一下,就刚刚的有关问题:)

热度:3   发布时间:2016-04-24 09:43:43.0
请ky_min进来一下,就刚刚的问题:)
引用 4 楼 ky_min 的回复:
;WITH CTETest AS(
SELECT CONVERT(XML,'<V><V1><V3>'+
REPLACE(REPLACE(Company,'#','</V3></V1><V2><V3>'),',','</V3><V3>')
+'</V3></V2></V>')V
FROM Test
WHERE id=001
)
,T1 AS(
SELECT ROW_NUMBER()OVER(ORDER BY GETDATE())RN,V1 FROM
(SELECT V.query('//V1')V FROM CTETest)A
OUTER APPLY(SELECT N.v.value('.','NVARCHAR(100)')V1 FROM A.V.nodes('//V3')N(V))B
)
,T2 AS(
SELECT ROW_NUMBER()OVER(ORDER BY GETDATE())RN,V2 FROM
(SELECT V.query('//V2')V FROM CTETest)A
OUTER APPLY(SELECT N.v.value('.','NVARCHAR(100)')V2 FROM A.V.nodes('//V3')N(V))B
)
SELECT V1,V2 FROM T1 FULL JOIN T2 ON T1.RN=T2.RN
 



请问大侠,CTETest,这个是临时表么?如果业务系统频繁调用会有问题么?那不是同一时刻都再创建这个临时表?
------解决思路----------------------
这个不算是临时表,比临时表要高效,多次调用不会有创建上的问题
而且你只查一条~~
应该不会有性能上的问题