日期:2014-05-18  浏览次数:20466 次

关于两个表分组查询的问题,急求解!!
表a
id   name   taskname   detail
1       n1       t1             d1
2       n2       t2             d2
3       n3       t3             d3

表b
sid   id     status   time
1         1         s2         t1
2         3         s1         t2
3         3         s2         t3
4         1         s3         t4          

我想查询得到的结果是表b内id分别为1和3的最新一条记录,并包含表a中对应id的name,taskname,detail字段的记录信息。即查出的结果为:
id   name   taskname   detail   status   time
1     n1         t1                 d1         s3           t4
3     n3         t3                 d3         s2           t3
请问SQL语句如何实现,多谢


------解决方案--------------------
Select A.id,name,taskname,detail,T.status,T.time From A inner join (
Select B.id,B.status,B.time From B inner join
(Select id,max(time) time From B Group By id) C
on B.time=C.time) T on A.id=T.id