ITPub博客

首页 > Linux操作系统 > Linux操作系统 > decode实现行转列的查询

decode实现行转列的查询

原创 Linux操作系统 作者:lihy114 时间:2013-10-09 17:19:00 0 删除 编辑

--是这样一个问题,数据库中的字段有  year, month, supermarkname,salesNumber.四个字段。如何编写SQL语句使得查询出来的结果如下

year   supermarkName   1月   2月    3月    4月     5月     。。。    (列名)
2012     超市1              500   300   200   100    200     。。。    (查询出的结果)

drop table sales;

create table sales
(
year char(4),
supermarkname varchar2(20),
month varchar2(10),
salesnumber number(5)
)
/

insert into sales values('2012','超市1','1月',500);
insert into sales values('2012','超市1','2月',300);
insert into sales values('2012','超市1','3月',200);
insert into sales values('2012','超市1','4月',100);
insert into sales values('2012','超市1','5月',200);
insert into sales values('2012','超市1','6月',600);
insert into sales values('2012','超市2','1月',500);
insert into sales values('2012','超市2','2月',300);
insert into sales values('2012','超市2','3月',200);
insert into sales values('2012','超市2','4月',100);
insert into sales values('2012','超市2','5月',200);
insert into sales values('2012','超市2','6月',600);
insert into sales values('2013','超市1','1月',500);
insert into sales values('2013','超市1','2月',300);
insert into sales values('2013','超市1','3月',200);
insert into sales values('2013','超市1','4月',100);
insert into sales values('2013','超市1','5月',200);
insert into sales values('2013','超市1','6月',600);

commit;


--decode查询语句,实现行转列
select YEAR,SUPERMARKNAME,
sum(decode(month,'1月',salesnumber,0)) "1月",
sum(decode(month,'2月',salesnumber,0)) "2月",
sum(decode(month,'3月',salesnumber,0)) "3月",
sum(decode(month,'4月',salesnumber,0)) "4月",
sum(decode(month,'5月',salesnumber,0)) "5月",
sum(decode(month,'6月',salesnumber,0)) "6月",
sum(decode(month,'7月',salesnumber,0)) "7月",
sum(decode(month,'8月',salesnumber,0)) "8月",
sum(decode(month,'9月',salesnumber,0)) "9月",
sum(decode(month,'10月',salesnumber,0)) "10月",
sum(decode(month,'11月',salesnumber,0)) "11月",
sum(decode(month,'12月',salesnumber,0)) "12月"
from sales group by YEAR,SUPERMARKNAME;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28803801/viewspace-773999/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-08-08

  • 博文量
    54
  • 访问量
    152611