JOIN后面能不能连接一个 SELECT 语句 可以连接一个 子查询×××TableA INNER JOIN (SELECT MAX(TradeTime) as TradeTime,ID FROM TableB GROUP BY ID) as t on TableA.id=t.id and TableA=TradeTime=t.TradeTime
或者:select ... from tablea a where TradeTime=(SELECT MAX(TradeTime) FROM TableB where ID=a.id)
出于性能考滤,这样写好一点。SELECT ID,Name,Sex,TradeTime FROM A LEFT JOIN (SELECT MAX(TradeTime) TradeTime,UserID FROM B GROUP BY UserID) x ON a.ID=x.UserID
23楼错了×××TableA INNER JOIN (SELECT MAX(TradeTime) as TradeTime,ID FROM TableB GROUP BY ID) as t on TableA.id=t.idselect ... ,(SELECT MAX(TradeTime) FROM TableB where ID=a.id) as TradeTime from tablea a
on TableA.id=t.id and TableA=TradeTime=t.TradeTime
...
from tablea a
where TradeTime=(SELECT MAX(TradeTime) FROM TableB where ID=a.id)
FROM A
LEFT JOIN
(SELECT MAX(TradeTime) TradeTime,UserID FROM B GROUP BY UserID) x
ON a.ID=x.UserID
on TableA.id=t.idselect
...
,(SELECT MAX(TradeTime) FROM TableB where ID=a.id) as TradeTime
from tablea a