Re: [SQL ] 庫存數量分倉庫列表出問題

作者: cutekid (可愛小孩子)   2017-08-03 17:53:26
select Item,
sum(case when WareHouse='X' then Quantity else 0 end) as X,
sum(case when WareHouse='Y' then Quantity else 0 end) as Y
from table
group by Item
※ 引述《razer (還是一個人)》之銘言:
: (針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
: 資料庫名稱:
: NetSuite, 算是Oracle底下的吧
: 資料庫版本:
: 內容/問題描述:
: 庫存資料表約略如下
: Item WareHouse Quantity
: A X 2
: A Y 0
: B X 1
: B Y 3
: C X 4
: 希望用SQL讀出來可以讀成
: Item X Y
: A 2 0
: B 1 3
: C 4
: 感覺很簡單,寫成以下
: select Item,X=case when WareHouse='X' then Quantity else NULL end,
: Y=case when WareHouse='Y'then Quantity else NULL end from table
: 一如想像會形成
: Item X Y
: A 2
: A 0
: B 1
: B 3
: C 4
: 可是如果將SQL改成
: select Item,sum(X=...),sum(Y=...) from table group by Item
: (恕我將以上那一串case簡略)
: 會回報語法有錯
: 再將SQL改成
: select Item,X=sum(...),Y=sum(...) from table group by Item
: 會直接回報failed to retrieve data,看來不是語法有錯?
: 想請問錯誤可能會發生在哪裡?或者我根本就用了不好的寫法?
作者: razer (還是一個人)   2017-08-04 10:11:00
我也這樣想,可是剛剛試了還是failed to retrieve data所以應該是系統的問題而非SQL本身的問題囉?

Links booklink

Contact Us: admin [ a t ] ucptt.com