码迷,mamicode.com
首页 > 其他好文 > 详细

再写行转列和列转行

时间:2016-07-15 13:16:57      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

原始表:

技术分享

1.列转行就是将一列的数据变成行显示,列转行使用了sum聚合函数,case when判断,列转行需要自己定义别名。

列转行语句:

SELECT SUM(CASE
WHEN T.LOC = ‘NEW YORK‘ THEN
T.DEPTNO
END) AS COLUMN_00001,
SUM(CASE
WHEN T.LOC = ‘DALLAS‘ THEN
T.DEPTNO
END) AS COLUMN_00002,
SUM(CASE
WHEN T.LOC = ‘CHICAGO‘ THEN
T.DEPTNO
END) AS COLUMN_00003,
SUM(CASE
WHEN T.LOC = ‘BOSTON‘ THEN
T.DEPTNO
END) AS COLUMN_00004
FROM DEPT T; --列转行

显示的结果:

技术分享

2.行转列就是将一行变成一列显示,行转列使用了sum聚合函数,case when判断,别名要和每行中的每一列的值一样。

行转列代码:

SELECT SUM(CASE
WHEN T.LOC = ‘NEW YORK‘ THEN
T.DEPTNO
END) AS NEWYORK,
SUM(CASE
WHEN T.LOC = ‘DALLAS‘ THEN
T.DEPTNO
END) AS DALLAS,
SUM(CASE
WHEN T.LOC=‘CHICAGO‘ THEN
T.DEPTNO
END) AS CHICAGO,
sum(CASE
WHEN T.LOC=‘BOSTON‘ THEN
T.DEPTNO
END) AS BOSTON
FROM DEPT T;

显示结果:

技术分享

 

再写行转列和列转行

标签:

原文地址:http://www.cnblogs.com/qadyyj/p/5673060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!