DECLARE @s NVARCHAR(4000) SELECT @s = ISNULL(@s + ',', '') + QUOTENAME(手术等级) FROM #T1 GROUP BY 顺序,手术等级 ORDER BY 顺序 --SELECT @s ---行列转换 DECLARE @sql NVARCHAR(4000) SELECT @SQL=' SELECT * FROM #T1 PIVOT ( COUNT(顺序) for 手术等级 in('+@s+') )A ORDER BY 科室' EXEC (@SQL) 根据我的手术等级不同产生不同的列和列名(列数和列名都可能不同),怎么实现动态显示列。 |