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

[求助]实现一条查询语句
a.表
任务ID   名称   内容  
1             t1       c1
2             t2       c2
b.表
步骤ID   任务ID   操作人           操作时间       状态
1             1             user1             2007-06-08   1
2             1             user2             2007-06-10   2
3             1             user3             2007-06-12   3

希望查询之后得到的结果为:
a.taskid   a.name   a.content   b.state
1                 t1           c1                 3  
就是要查出这条任务最后的状态。


------解决方案--------------------

Select
A.*,
B.state
From
A
Inner Join
B
On A.taskid = B.taskid
Inner Join
(Select taskid, Max(操作时间) As 操作时间 From B Group By taskid) C
On B.taskid = C.taskid And B.操作时间 = C.操作时间
------解决方案--------------------
select a.*,状态 from a Inner join (select 任务id,max(状态) 状态 from b group by 任务id)b
on a.任务id=b.任务id