我需要弄清楚如何透视我拥有的一组数据,并且代码可以根据需要工作,但问题是我真的不明白为什么会这样。任何人都可以帮助一个菜鸟并解释为什么下面的代码决定'SELECT @columns = COALESCE + ...
为什么他在 COALESCE 函数中指定了两个参数?是否只是返回该表中的所有列?如果是这样,有人可以准确地分解它是如何做到的。我从这个网站上提取这段代码作为参考:(http://www.tsqltutorials.com/pivot.php)
提前致谢!
DECLARE @columns VARCHAR(8000)
SELECT @columns = COALESCE(@columns + ',[' + cast(Variable as varchar) + ']',
'[' + cast(Variable as varchar)+ ']')
FROM #temp123
GROUP BY Variable
DECLARE @query VARCHAR(8000)
SET @query = '
SELECT *
FROM #temp123
PIVOT
(
MAX(VaribleValue)
FOR [Variable]
IN (' + @columns + ')
)
AS p'
EXECUTE(@query)