2013-04-20 56 views
1

我有一個關於從表中獲取最新記錄的經典問題。以下是該語句:SQL工作在libreoffice基礎,但不是自由基本

SELECT t1.Item, t1.Price, t1.ODate 
FROM Order AS t1 
JOIN ((SELECT Item, Price, Max(ODate) As MaxDate 
     FROM Order 
     GROUP BY Item) As t2) 
ON t1.Item = t2.Item and t1.Odate = MaxDate 
ORDER BY t1.Item ASC 

本聲明適用於既phpMyAdmin的和LibreOffice基地,但LibreOffice的基本給了我一個消息:語法錯誤在SQL表達式。

任何幫助?

回答

0

也許你應該從t2的選擇中刪除「價格」。這似乎是無意義的加入,並會在MSSMS 2008下面的錯誤消息,在我的情況。

列'Order.Price'在選擇列表中無效,因爲它不包含在聚合函數或GROUP BY子句中。

嘗試

SELECT t1.Item, t1.Price, t1.ODate 
FROM Order AS t1 
JOIN (SELECT Item, Max(ODate) As MaxDate 
     FROM Order 
     GROUP BY Item) As t2 
ON t1.Item = t2.Item and t1.Odate = MaxDate 
ORDER BY t1.Item ASC 
+0

它的作品,非常感謝你。 – user2301156 2013-04-20 06:09:24