表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;