[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