行列转换.

表abc:

(建表语句在文章末尾)

想要得到:

方法一

with
a as(select 年,产 from abc where 季=1),
b as(select 年,产 from abc where 季=2),
c as(select 年,产 from abc where 季=3),
d as(select 年,产 from abc where 季=4)
select a.年,a.产 春,b.产 夏,c.产 秋,d.产 冬
from a join b
on a.年=b.年
join c
on b.年=c.年
join d
on c.年=d.年
--表a————(2021,2022第一季度的年,产)起别名为a

with as应该是给查询出来的结果集表格起别名

方法二:

select 年
,max(case 季 when 1 then 产 end)春
,max(case 季 when 2 then 产 end)夏
,max(case 季 when 3 then 产 end)秋
,max(case 季 when 4 then 产 end)冬
from abc
group by 年;

附建表语句:

create table abc(
年 number,
季 number,
产 number)

insert into abc (年,
                 季,
                 产)
values(2021,1,100);
insert into abc (年,
                 季,
                 产)
values(2021,2,110);
insert into abc (年,
                 季,
                 产)
values(2021,3,120);
insert into abc (年,
                 季,
                 产)
values(2021,4,130);
insert into abc (年,
                 季,
                 产)
values(2022,1,160);
insert into abc (年,
                 季,
                 产)
values(2022,2,170);
insert into abc (年,
                 季,
                 产)
values(2022,3,180);
insert into abc (年,
                 季,
                 产)
values(2022,4,190);
select * from abc;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值