[SQL ] 请问多个sum的问题

楼主: OldChuang (老庄)   2018-01-31 09:45:10
数据库名称:sql server 2008
数据库版本:2008
内容/问题描述:
假设资料内容如下图的左边两个表格
https://imgur.com/a/7iQXd
all:所有商品编号
m106:各季进出口的资料
现在想将各产品的进口依照各季加总列出
并对应all的所有编号
以下是我的写法(参考过往的写法改的)
但是之后每加一季或是要往前查,编码就会改更长
想问问有无更好的写法
或是...只能抓到excel用枢纽来查...
select '商品'=a.商品编号,
'103Q1'=ISNULL(b03.P106Q1,0),'106Q2'=ISNULL(b04.P106Q2,0),),'106Q3'=ISNULL(b05.P106Q3,0)
from all a
left join
( select 商品编号,'p106Q1'=sum(a.销量) from m106 a
where a.进出口'进口' and a.时间='106Q1'
group by 商品编号 ) b03
on a.商品编号=b03.商品编号
left join
( select 商品编号,'p106Q2'=sum(a.销量) from m106 a
where a.进出口'进口' and a.时间='106Q2'
group by 商品编号 ) b04
on a.商品编号=b04.商品编号
left join
( select 商品编号,'p106Q3'=sum(a.销量) from m106 a
where a.进出口'进口' and a.时间='106Q3'
group by 商品编号 ) b05
on a.商品编号=b05.商品编号
order by 商品

Links booklink

Contact Us: admin [ a t ] ucptt.com