CREATE TABLE #tempcloum(
[productNum] varchar() null,
[year1] decimal not null,
[year2] decimal not null,
[year3] decimal not null
)
--лляD┴л
DECLARE @sql VARCHAR()
SET @sql = 'SELECT [productNum],'
SELECT @sql = @sql + 'SUM(CASE [year] WHEN '''+[year]+''' THEN [price] ELSE 0 END) AS '''+[year]+''','
FROM (SELECT DISTINCT [year] FROM #tempYear) AS a
SELECT @sql = LEFT(@sql,LEN(@sql)-) + ' FROM #tempYear GROUP BY [productNum] '
PRINT(@sql) insert into #tempcloum EXEC(@sql)
GO
相关文章
- Oracle 字符串拼接;行转列;列转行 ;的Sql语句
- 百度数据开发面试题 Oracle行列转换Oracle行转列、列转行的Sql语句总结(转)链接中的基本都用到。1)wm_concat、listaggoracle拆分逗号分隔字符串 实现split博主这里没记住正则,开始傻傻的用循环暴力,后来面试的大叔让我随便用什么语言博主就写了个java的List数组拆分,后来想想完全不同,这里应该是String的split,用oracle的话就用正则,其他语言支持正则的都可以用正则。这是老夫版的,面试写的随意,使用方法名递归,估
- mysql sql语句:行转列问题
- sql语句实现行转列的3种方法实例
- Sql 语句收集——行转列
- Oracle行转列、列转行的Sql语句总结(转)
- Oracle 行转列pivot 、列转行unpivot 的Sql语句总结
- Oracle 行转列pivot 、列转行unpivot 的Sql语句总结
- SQL查询语句行转列横向显示实例解析
- vertica sql实现行转列