我有一张表,上面jobs有各种信息。每个工作都有一个工作编号(唯一ID)。
jobs
然后有另一个表,名为purchaseOrders,具有工作ID的FK和poID的PK。
purchaseOrders
编辑采购订单条目时,将保存旧信息…,也就是说,我创建了一个新的PO条目(新的唯一ID)。
我正在尝试做的是编写一个查询,该查询 从“ jobs” 中 选择所有字段,并从“ purchaseOrders” 中 选择所有字段,但仅选择该工作的最新poID 。
例如:
jobID Name State poID time jobID ========================== ========================== 1 foo fl 1 1:00 1 2 bar ga 2 1:10 1 3 zzz ny 3 1:20 1 4 2:00 2 5 2:01 2 6 2:30 2 7 3:00 3 8 3:40 3 9 3:15 3
如何运行一个查询,该查询将从两个表中选择所有列,但只包括特定jobID的poID最高的信息?
SELECT a., c. FROM jobs a INNER JOIN ( SELECT jobID, MAX(time) maxVal FROM purchaseOrders GROUP BY jobID ) b ON a.jobID = b.jobID INNER JOIN purchaseOrders c ON c.jobID = b.JobID AND c.time = b.maxVal