台灣最大程式設計社群網站
線上人數
864
 
會員總數:239069
討論主題:185519
歡迎您免費加入會員
討論區列表 >> MS SQL >> 如何在合併資料表中,以最小值為合併序號...
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何在合併資料表中,以最小值為合併序號...
價值 : 300 QP  點閱數:159 回應數:3

樓主

小米乙
門外漢
0 193
2506 402
發送站內信

捐贈 VP 給 小米乙
各位先進們好,想請教個問題,小弟以一張資料表內,比對找出需要合併的資料作呈現,但問題是,如何以某幾筆之合併資料的最小序號作為合併序號?這是我的問題。
以下是SQL:

而呈現的資料表[Table_1]:
DB1_NO DB1_Name DB1_Time DB2_NO DB2_Name DB2_Time
A_NO A_Name A_Time B_NO B_Name B_Time
A_NO A_Name A_Time C_NO C_Name C_Time
B_NO B_Name B_Time A_NO A_Name A_Time
B_NO B_Name B_Time C_NO C_Name C_Time
C_NO C_Name C_Time A_NO A_Name A_Time
C_NO C_Name C_Time B_NO B_Name B_Time

而序號[A_NO]、[C_NO]、[C_NO],以[A_NO]為最小,並作為合併主要序號,資料表需呈現為[Table_2]:
DB1_NO DB1_Name DB1_Time DB2_NO DB2_Name DB2_Time CB_NO
A_NO A_Name A_Time B_NO B_Name B_Time A_NO
A_NO A_Name A_Time C_NO C_Name C_Time A_NO
B_NO B_Name B_Time A_NO A_Name A_Time A_NO
B_NO B_Name B_Time C_NO C_Name C_Time A_NO
C_NO C_Name C_Time A_NO A_Name A_Time A_NO
C_NO C_Name C_Time B_NO B_Name B_Time A_NO

想請教各位先進,若要如此呈現出資料表,這樣SQL該如何設計?

搜尋相關Tags的文章: [ 合併序號 ] ,
本篇文章發表於2017-02-20 15:49
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

asp小菜渣
檢舉此回應
自己看的有點糊塗

問題1:Table_1是CosTime1?Table_2是CosTime2?,好像也不是…

問題2:Table_2的呈現,是要比DB1_NO還是DB2_NO呢?
本篇文章回覆於2017-02-21 08:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

小米乙
捐贈 VP 給 小米乙 檢舉此回應
不好意思,沒注意到:
1. Table_1、Table_2都是資料呈現結果。不是語法內的CosTime1。
2. A_NO、B_NO、C_NO都是需要合併的資料,而A_NO是最小值,以最小值為這三筆資料的合併序號,所以在
Table_2上的最後一個欄位[CB_NO]都是A_NO。
本篇文章回覆於2017-02-21 12:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

小米乙
捐贈 VP 給 小米乙 檢舉此回應
這問題有解決了,用這樣的方式就可以:


呈現的資料表就可以如願完成:
DB1_NO DB1_Name DB1_Time DB2_NO DB2_Name DB2_Time CB_NO
A_NO A_Name A_Time B_NO B_Name B_Time A_NO
A_NO A_Name A_Time C_NO C_Name C_Time A_NO
B_NO B_Name B_Time A_NO A_Name A_Time A_NO
B_NO B_Name B_Time C_NO C_Name C_Time A_NO
C_NO C_Name C_Time A_NO A_Name A_Time A_NO
C_NO C_Name C_Time B_NO B_Name B_Time A_NO

本篇文章回覆於2017-02-21 16:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

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