台灣最大程式設計社群網站
線上人數
1071
 
會員總數:245903
討論主題:189495
歡迎您免費加入會員
討論區列表 >> Oracle >> 三張表格UNION問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
三張表格UNION問題
價值 : 50 QP  點閱數:1375 回應數:9
樓主

Wasi
門外漢
0 23
553 62
發送站內信


本篇文章發表於2015-03-17 17:36
== 簽名檔 ==
從錯誤和失敗中學習寶貴的經驗
請前輩們不吝指教, 小弟虛心學習
1樓
作者回應

Wasi
檢舉此回應
本篇文章回覆於2015-03-17 17:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Wasi
檢舉此回應
有人會嗎~~~?

要寫3個SELECT分別是MID PID LOT

感謝~
本篇文章回覆於2015-03-18 09:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

風箏
檢舉此回應
沒摸過Oracle
不過語法應該通用

本篇文章回覆於2015-03-18 10:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Wasi
檢舉此回應
風箏大大 謝謝你
又學到了^^

非常感謝你唷!!!
本篇文章回覆於2015-03-18 10:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Wasi
檢舉此回應
風箏大大 可以再問你一個問題嗎
如果現在改成以下樣式


總數表示為該行的倉庫加總
01表示在01倉庫中屬於MID001有幾個



請問要達成這樣該怎麼下?
本篇文章回覆於2015-03-18 13:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

風箏
檢舉此回應
要透過程式面去達成動態欄位了


以這個為例
,sum(Case When WARENO=3 then cnt else 0 end) as "WARENO3"
這個轉置欄位的生成就要透過程式跑迴圈生成

如果單靠資料庫的SQL語句要達成的話
我不確定Oracle 有沒有支援字串執行的相關函式
類似像MS SQL的這個 sp_executesql
假設有應該就可以透過while去產生動態SQL語法執行

本篇文章回覆於2015-03-18 14:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Wasi
檢舉此回應
謝謝風箏大的指導
已經可以動態去新增欄位了
分常感謝您^ ^

想再問你一個問題








抱歉一直問你這麼新手的東西..
本篇文章回覆於2015-03-18 16:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

風箏
檢舉此回應
,sum(Case When WARENO=1 then cnt else 0 end) as "WARENO1"

當WARENO值為1時加總cnt 反之+0
所以你自己看你的代碼有哪些再把它轉置成條件式欄位

本篇文章回覆於2015-03-18 16:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

Wasi
檢舉此回應
抱歉晚了點回~~

謝謝您^^ 已經了解囉! 再次感謝您!
本篇文章回覆於2015-03-19 13:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.