2014-10-31 150 views
0

我知道这与很多帖子非常相似,但我试图编写一个连接到Microsoft SQL Server的php查询。我可以把它带来我想要的所有相关数据,但是当我把我的where子句放在php查询中不运行时。我有三张桌子MS SQL选择MAX日期问题

| MetalSource | MetalPrice |货币|

在金属价格表中有一个日期/时间字段,我想查找任何日期放入数据库的最新日期,而不考虑时间,这个怎么做?我的查询如下:

$query = "SELECT mp.MetalSourceID, mp.UnitPrice, mp.DateCreated, mp.HighUnitPrice, 
mp.PreviousUnitPrice, mp.PreviousHighUnitPrice, 
mp.MetalSourceName, cu.Currency FROM tblMetalPrice AS mp 
INNER JOIN tblMetalSource as ms ON mp.MetalSourceID = ms.MetalSourceID 
INNER JOIN tblCurrency AS cu ON ms.CurrencyID = cu.CurrencyID 
WHERE 
SELECT MAX (DateCreated) 
FROM mp" 

就像我已经说过的SELECT语句工作完全正常,但是当我试图降低我的WHERE子句的结果似乎就不行了。

我看过所有其他帖子,并尝试了几种不同的东西,但似乎没有得到我需要的东西。

感谢

+0

你不能做一个WHERE后跟一个选择像那样 - WHERE DateCreated =(SELECT MAX(DateCreated)FROM mp)' – 2014-10-31 09:26:27

+0

谢谢詹姆斯的工作就像一种享受......它是一个星期五的早晨,我的大脑油炸和有趣的事情我知道你不能跟随一个选择的WHERE。 – 2014-10-31 09:32:03

+0

没问题,很高兴帮助。 – 2014-10-31 09:49:37

回答

0

按照评论:

ORDER BY DateCreated DESC LIMIT 31 

这将会对数据进行排序,并通过31行限制它。