2016-10-04 72 views
2

我有3個表(A,B,C),它們被ACC_NO(a.acc_no,b.acc_no,c.acc_no)鏈接SQL服務器加入加入3個表給迄今最高出多個值

和我想加入他們的方式,以獲得最高的行值:

a.acc_no a.seq_no b.open_dt b.close_dt c.chg_dt 
-------- -------- --------- ---------- ---------- 
100001  500   2016-07-01 2016-07-16 2016-09-02 
100001  500   2016-07-01 2016-07-16 2016-09-05 
100001  510   2016-07-17 2016-09-30 2016-09-02 
100001  510   2016-07-17 2016-09-30 2016-09-05 
100002  502   2016-09-02 2016-09-27 2016-09-03 
100003  503   2016-09-03 2016-09-26 2016-09-25 

我如何使它看起來像這樣:

a.acc_no a.seq_no b.open_dt b.close_dt c.chg_dt 
-------- -------- --------- ---------- ---------- 
100001  510   2016-07-17 2016-09-30 2016-09-05 
100002  502   2016-09-02 2016-09-27 2016-09-03 
100003  503   2016-09-03 2016-09-26 2016-09-25 

基本上無視最低a.seq_no其中ACC_NO是一樣的,也顯示最高的chang_dt寶可以從兩個我讓出來。

我已經嘗試了一切,但我要麼不明白,要麼當我加入表格時做錯了什麼。

爲了澄清表:

TABLE a TABLE b TABLE c 
------- ------- ------- 
acc_no  acc_no  acc_no 
seq_no  open_dt chang_dt 
      close_dt 

所有3個表由ACC_NO

+0

澄清你的三個表的樣子你的問題。 –

+0

你有沒有嘗試過任何查詢? –

回答

1

嘗試連接到使用

SELECT a.acc_no, 
     Max(a.seq_no), 
     Max(b.open_dt), 
     Max(b.close_dt), 
     Max(c.chang.dt) 
FROM a 
     JOIN b 
     ON (a.acc_no = b.acc_no) 
     JOIN c 
     ON (b.acc_no = c.acc_no) 
GROUP BY a.acc_no