一分钟内掌握较复杂sql

在最近的项目中,经常要做临时中间表(几个表的字段自己命名一个名作为一个新表),说一下需求:有一个任务状态表(task_status),operation表,每次操作任务状态,都需要记录一下,在operation表中记录几条记录,现在想统计每条任务状态最后一次更新时间:

select c.task_stat_id, to_char(d.created, 'yyyy-MM-dd hh24:mi:ss') as createDate
     from (select max(a.operation_id) as operation_id, a.task_status_id
             from operation a
            group by a.task_status_id) b, //按照任务状态标示分组,查询最大的操作时间,出来一个临时中间表b
          task_stat c, //关联任务状态表表查询任务状态信息
          operation d //关联操作表查询操作时间,操作人信息
    where b.task_status_id = c.task_stat_id
      and b.operation_id = d.operation_id ;

你可能感兴趣的:(一分钟内掌握较复杂sql)