日期:2014-05-17  浏览次数:20396 次

返回值XML改变CROSS APPLY结果集_散分赚RP
SELECT 1 AS ID INTO #1
SELECT 2 AS ID,'A' AS Name INTO #2

GO

SELECT 
a.ID
,STUFF(b.Col,1,1,'') AS Col
FROM #1 AS a 
CROSS APPLY(SELECT '|'+NAME FROM #2 WHERE ID=a.ID) AS b(Col)
--空结果集
/*
ID Col
*/

SELECT 
a.ID
,STUFF(b.Col,1,1,'') AS Col
FROM #1 AS a 
CROSS APPLY(SELECT '|'+NAME FROM #2 WHERE ID=a.ID FOR XML PATH('')) AS b(Col)

--显示1条记录
/*
ID Col
1 NULL
*/
GO
DROP TABLE #1,#2

------解决方案--------------------

------解决方案--------------------
人奇,可以结贴了
------解决方案--------------------
最新研究吗大版?
------解决方案--------------------
加个 FOR XML PATH('')就相当于left join吗?
求解释原因
------解决方案--------------------

这是要干啥~~~~
------解决方案--------------------

------解决方案--------------------
引用:
加个 FOR XML PATH('')就相当于left join吗?
求解释原因


这个理解是错误的。


------解决方案--------------------
结贴就有人品了
------解决方案--------------------
这个能否搞个例子,让大家看明白啊,就是搞些有代表性的数据,否则单这样看其它的围观群众也不知道如何解释,呵呵。
------解决方案--------------------

------解决方案--------------------

------解决方案--------------------
纯路过,纯接分....
------解决方案--------------------
接分....