Re: [SQL ] 請問多個sum的問題

看板Database (資料庫)作者 (可愛小孩子)時間6年前 (2018/01/31 10:36), 6年前編輯推噓1(100)
留言1則, 1人參與, 6年前最新討論串2/2 (看更多)
;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
文章代碼(AID): #1QSIlBRa (Database)
討論串 (同標題文章)
文章代碼(AID): #1QSIlBRa (Database)