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

問(wèn)一個(gè)SQL語(yǔ)句的寫法,聯(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對(duì)應(yīng)B表中的AID

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

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

回答
編輯回答
墨小羽

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

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ù)只對(duì)應(yīng)A表一條數(shù)據(jù)的話加個(gè)排序也可以吧..

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

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

2018年5月21日 05:08