鍍金池/ 問答/數(shù)據(jù)庫/ 問一個SQL語句的寫法,聯(lián)合查詢

問一個SQL語句的寫法,聯(lián)合查詢

A表中有字段
ID title
1 DDDDDDD
2 ccccccc
3 HHHHHHHH

B表中有字段
ID AID STATUS
1 2 0
2 1 1
3 2 1
4 3 0
5 1 0
。。。。。。

A表中的ID對應(yīng)B表中的AID

我需要使用聯(lián)合查詢找出A表中的所有數(shù)據(jù),并對應(yīng)出最新的B表記錄。

搞了半天,我只能找出B表中對應(yīng)的第一條記錄,而不是最新的記錄。如A表中的ID為1的記錄,找出B表中的卻是ID為2的記錄,我需要找出的是為5的記錄。
求教?。?!

回答
編輯回答
墨小羽

@jzoom 的思路是對的,但具體寫法上max函數(shù)的字段不對,我補充一下:

select a.*, b.*
from a join (select aid, max(id) as max_id from b group by aid) b1 on a.id = b1.aid
       join b on b1.max_id = b.id
2018年5月16日 14:46
編輯回答
練命

如果B表數(shù)據(jù)只對應(yīng)A表一條數(shù)據(jù)的話加個排序也可以吧..

select a.*, b.* from b left join a on a.id = b.aid order by b.id DESC
2018年5月24日 16:27
編輯回答
淚染裳

這個是很明顯的一個子查詢
select a.id,aid from a join ( select max(aid) as aid from b group by aid ) b on a.id=b.aid
其他字段請自行補充

2018年5月21日 05:08