【问题标题】:sql works in libreoffice base but not libre basicsql 在 libreoffice base 中工作,但在 libre basic 中不工作
【发布时间】:2013-04-20 02:38:00
【问题描述】:

我有一个关于从表中获取最新记录的经典问题。声明如下:

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 base,但 LibreOffice basic 给我一条消息:SQL 表达式中的语法错误。

有什么帮助吗?

【问题讨论】:

    标签: sql libreoffice libreoffice-basic libreoffice-base


    【解决方案1】:

    也许您应该从 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 2014-05-14
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 2015-05-10
      • 2016-09-18
      相关资源
      最近更新 更多