我有两个表:return 和 return_details
回报是这样设置的 -
+ Return
- id
- orderNum
- startDate
- endDate
+ Return_Details
- id
- rid (Return.id)
- stage [this is essentially location]
- lastSeen [timeDate last seen)
我试图找到所有“开放”的回报(其中 Return.endDate == null),然后是每个 open的stage
and 。lastSeen
Return.id
问题是我不知道如何在 Return_Details 中找到最后一次出现的 Return.id。目前我可以使用 MAX 找到正确的 lastSeen 时间,但我如何抓住相应的阶段。
这是我现在使用的查询 -
SELECT r.so, rd.lastSeen, rd.stage, r.sotype, MAX(rd.lastSeen) as last
FROM repairs r
JOIN repair_details rd ON r.id = rd.rid
WHERE `enddate` IS NULL
GROUP BY r.so
ORDER BY lastSeen asc
任何有关如何通过一个查询完成此操作的帮助将不胜感激。提前致谢!