MYSQL查询包含最新结果

时间:2014-07-01 21:25:15

标签: php mysql sql database time-series

我想为MYSQL创建一个查询语句,它将为我提供项目的最新价格。表格包含与每个项目UnitPrice配对的一堆价格(MIL_id))。但是,我想要每个项目的最新价格(UnitPrice)(MIL_id)每行还有一个ReqNum列,每个条目都会递增,每个条目都会有一个Date列。那么如何才能进行查询,以便获得最新价格(UnitPrice )使用最新的DateReqNum

到目前为止我所拥有的:

SELECT t1.VendorPtNum, t1.UnitPrice, MAX(t1.Date), MAX(t1.ReqNum), t2.MIL_id
FROM tblMatInvList t2
LEFT JOIN tblPurchaseReq t1 ON t1.VendorPtNum = t2.VendPtNum
GROUP BY t2.MIL_id
HAVING MAX(t1.Date)

1 个答案:

答案 0 :(得分:1)

评论后编辑:

所以,你有一张桌子

<强> tblMatInvList

-------------------- +

VendorPtNum | MIL_id

-------------------- +

和一个表

<强> tblPurchaseReq

--------------------------------------- +

VendorPtNum | UnitPrice |日期| ReqNum

--------------------------------------- +

我认为你可以使用这样的东西

SELECT * FROM tblMatInvList
INNER JOIN 
      (SELECT MAX(Date) as date,
              VendorPtNum
         FROM tblPurchaseReq
         GROUP BY tblPurchaseReq.VendorPtNum) prices
ON prices.VendorPtNum = tblMatInvList.VendorPtNum;