[SQL ] 請問多個sum的問題
資料庫名稱: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 商品
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.60.106.4
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1517363112.A.476.html
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章