2014-10-31 99 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行限制它。