如果公司名称,都是一样的
select max(公司名称) as 公司名称, sum(case convert(varchar(4),销售日期,120) when '2021' then 销售金额 else 0) as '2021年销售总额', sum(case convert(varchar(4),销售日期,120) when '2020' then 销售金额 else 0) as '2020年销售总额', sum(case convert(varchar(4),销售日期,120) when '2019' then 销售金额 else 0) as '2019年销售总额', sum(case convert(varchar(4),销售日期,120) when '2018' then 销售金额 else 0) as '2018年销售总额'
from 一个表
不同公司,就来个分组,就可以
select 公司名称, sum(case convert(varchar(4),销售日期,120) when '2021' then 销售金额 else 0) as '2021年销售总额', sum(case convert(varchar(4),销售日期,120) when '2020' then 销售金额 else 0) as '2020年销售总额', sum(case convert(varchar(4),销售日期,120) when '2019' then 销售金额 else 0) as '2019年销售总额', sum(case convert(varchar(4),销售日期,120) when '2018' then 销售金额 else 0) as '2018年销售总额'
from 一个表
group by 公司名称