首页 > 其他 > 详细

再写行转列和列转行

时间:2016-07-15 13:15:31      阅读:311      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!