×××TableA INNER JOIN (SELECT MAX(TradeTime),ID FROM TableB ) Tab2 on Tab2.Id=TableA.Id GROUP BY ID

解决方案 »

  1.   

    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
      

  2.   

    或者:select
    ...
    from tablea a
    where TradeTime=(SELECT MAX(TradeTime) FROM TableB where ID=a.id)
      

  3.   

    出于性能考滤,这样写好一点。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
      

  4.   

    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