根据表B中的递增状态值,在表A中获取不同的记录

时间:2015-03-01 15:26:10

标签: mysql

我有两个表:一个有MAINTENANCE REQUESTS,另一个持有特定请求的STATUS。这个想法是,用户可以按照STATUS更新路径。

我正在寻找一个查询:

  • 检索STATUS大于1但小于1000的所有MAINTENANCE RECORDS。

截至目前,开始玩的是:

select distinct mr.*
     , mrsl.request_status
     , mrsl.date_applied
     , mrsl.changed_by 
  from maintenance_request mr
 inner 
  join maintenance_request_status_log mrsl 
    on mrsl.request_id = mr.id
 order 
    by mr.id desc
     , mrsl.request_status desc

...但是,这给了我每个状态条目一条记录,当然。我不知道如何实现我的两个疑问?任何人吗?

根据图像,只显示两条记录:ID 7正常,ID 6只应显示带有request_status 3(最高的一条)的记录。

/鲍勃

1 个答案:

答案 0 :(得分:0)

原来这就是诀窍:

select mr.*, (select request_status from maintenance_request_status_log where request_id = mr.id order by id desc limit 1) as status from maintenance_request mr