Re: [SQL ] 請問多個sum的問題
;with tb1 as (
select t2.商品編號,t2.時間,t2.銷量
from all t1
inner join m106 t2 on t1.商品編號 = t2.商品編號
where t2.進出口 = '進口' and left(t2.時間,3) = '106'
)
select *
from tb1
pivot (
sum(銷量) for 時間 in ([106Q1],[106Q2],[106Q3],[106Q4])
) as pvt
※ 引述《OldChuang (老莊)》之銘言:
: 資料庫名稱: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), 來自: 118.170.106.153
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1517366219.A.6E4.html
※ 編輯: cutekid (118.170.106.153), 01/31/2018 11:43:09
推
01/31 19:52,
6年前
, 1F
01/31 19:52, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章