看板 Database 關於我們 聯絡資訊
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,看來不是語法有錯? : 想請問錯誤可能會發生在哪裡?或者我根本就用了不好的寫法? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.80.36 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1501754007.A.AFC.html
razer: 我也這樣想,可是剛剛試了還是failed to retrieve data 08/04 10:11
razer: 所以應該是系統的問題而非SQL本身的問題囉? 08/04 10:12