我有两个表,
---Jobs---
id,name,.....
---Locations---
id,jobId,Location,date
现在一个作业可以有多个位置,我想将该作业加入到jobs.id=location.jobId
和date
最大的最新位置。
可能是:
SELECT *
FROM Jobs J, Locations L
WHERE J.id=L.jobId
AND L.date = (
SELECT MAX(date)
FROM Locations L2
WHERE L2.jobId=L.jobId
GROUP BY L2.jobId)
说明:
在嵌套查询中,我为每个作业选择最长日期。
在外部查询中,我将两个表连接起来,只提取日期等于我在嵌套查询中找到的MAX(日期)且Job相同的行。这是通过条件L2.jobId=L.jobId
试试这个:
select * from jobs inner join locations on jobs.id=locations.jobid order by date desc limit 1;