左连接的表中有多条数据只取一条

取日期最大的一条数据


CREATE   TABLE  
(id  INT )
CREATE   TABLE   B
(cid  INT
,adddate DATETIME)
 
INSERT   INTO  
SELECT  
UNION
SELECT   2   
 
 
INSERT   INTO   SELECT   1, '2010-10-01'
UNION   SELECT   1, '2010-10-02'
UNION   SELECT   2, '2010-10-01'
UNION   SELECT   2, '2010-10-02'
UNION   SELECT   2, '2010-10-03'
 
SELECT   FROM   a
LEFT   JOIN   ( SELECT   MAX (adddate) AS  adddate ,cid  FROM  b  GROUP   BY  cid ) b1
ON   b1.cid = a.id

你可能感兴趣的:(左连接的表中有多条数据只取一条)