台灣最大程式設計社群網站
線上人數
939
 
會員總數:242650
討論主題:187622
歡迎您免費加入會員
討論區列表 >> Oracle >> 依照多筆欄位資料做分組,挑出最新一筆資料
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
依照多筆欄位資料做分組,挑出最新一筆資料
價值 : 50 QP  點閱數:758 回應數:3

樓主

陳威瑄
初學者
5 10
452 30
發送站內信

我組出了一組查詢的SQL
顯示的資料如下

採購單號,廠商代號,商品代號,採購單預計交貨日期,數量,剩餘數量,收貨單號,收貨單日期,收貨人,收貨量,退貨量

假設同一張採購單(進貨2種商品)+商品代號遇到情況有退貨(只退一項),之後廠商又再進貨,同一筆採購單+商品代號就會顯示2筆

採購單A001,廠商001,商品代號001,20170406,總共數量100,剩餘20,收貨單號B001,20170406,收貨人B,100,50
採購單A001,廠商001,商品代號001,20170406,總共數量100,剩餘20,收貨單號B003,20170407,收貨人A,30,0
採購單A001,廠商001,商品代號002,20170406,總共數量100,剩餘50,收貨單號B001,20170406,收貨人B,50,0

因為剩餘數量是抓採購單裡的資料,所以第2次收貨後,第1筆的剩餘數量也會被影響到

有沒有辦法只顯示最新一筆收貨單資料
變成這樣

採購單A001,廠商001,商品代號001,20170406,總共數量100,剩餘20,收貨單號B003,20170407,收貨人A,30,0
採購單A001,廠商001,商品代號002,20170406,總共數量100,剩餘50,收貨單號B001,20170406,收貨人B,50,0

使用GROUP採購單號,廠商代號,商品代號,採購單預計交貨日期,數量,剩餘數量系統不讓我過
拜託各位了,謝謝

搜尋相關Tags的文章: [ SQL ] , [ ORACLE ] ,
本篇文章發表於2017-04-07 17:24
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

陳威瑄
檢舉此回應
我現在再考慮另一種方式
將收貨單的部分用||','||做欄位合併
變成如下
採購單A001,廠商001,商品代號001,20170406,總共數量100,剩餘20,合併成一個欄位(收貨單號B001,20170406,收貨人B,100,50)
採購單A001,廠商001,商品代號001,20170406,總共數量100,剩餘20,合併成一個欄位(收貨單號B003,20170407,收貨人A,30,0)
採購單A001,廠商001,商品代號002,20170406,總共數量100,剩餘50,合併成一個欄位(收貨單號B001,20170406,收貨人B,50,0)

在用GROUP+MAX變成
採購單A001,廠商001,商品代號001,20170406,總共數量100,剩餘20,合併成一個欄位(收貨單號B003,20170407,收貨人A,30,0)
採購單A001,廠商001,商品代號002,20170406,總共數量100,剩餘50,合併成一個欄位(收貨單號B001,20170406,收貨人B,50,0)
到這邊成功

接下來是打算再將合併的欄位依照欄位資料裡的,當作分割,切割成多欄位,這個地方我就卡住了
採購單A001,廠商001,商品代號001,20170406,總共數量100,剩餘20,收貨單號B003,20170407,收貨人A,30,0
採購單A001,廠商001,商品代號002,20170406,總共數量100,剩餘50,收貨單號B001,20170406,收貨人B,50,0

請問這該怎麼處理
google只有找到切割後變成多筆,沒找到切成多欄位
本篇文章回覆於2017-04-10 11:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

asp小菜渣
檢舉此回應
如果只是要看同單、同品且最後一張收貨日期(最新)
這樣子試試看呢?

本篇文章回覆於2017-04-12 11:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

陳威瑄
檢舉此回應
因為後面幾個欄位收貨人.數量也必須列出
沒辦法只對收貨日期跟收貨單做MAX

我找到處理的方法了
http://bbs.csdn.net/topics/290043399
我是參考2樓這篇切割方式
將合併用,做區隔的欄位再做切割,變回多欄位

謝謝你的回應
本篇文章回覆於2017-04-13 15:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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