1 sql ms-access aggregate-functions ms-access-2010
我的代码如下:
SELECT Last, OrderLine.OrdID, OrdDate, SUM(Price*Qty) AS total_price
FROM ((Cus INNER JOIN Orders ON Cus.CID=Orders.CID)
INNER JOIN OrderLine
ON Orders.OrdID=OrderLine.OrdID)
INNER JOIN ProdFabric
ON OrderLine.PrID=ProdFabric.PrID
AND OrderLine.Fabric=ProdFabric.Fabric
GROUP BY Last
ORDER BY Last DESC, OrderLine.OrdID DESC;
Run Code Online (Sandbox Code Playgroud)
此代码之前已经得到了回答,但含糊不清.我想知道我哪里出错了.
您尝试执行不包含指定表达式"OrdID"的查询作为聚合函数的一部分.
是我不断得到的错误消息,无论我改变什么,它都会给我这个错误.是的我知道,它是用SQL-92编写的,但是我如何使它成为一个合法的功能呢?
Ken*_*ite 10
对于几乎每个DBMS(MySQL是我所知道的唯一例外,但也可能有其他例外),SELECT未聚合的每个列都需要在GROUP BY子句中.在您的查询的情况下,这将是除了以下列中的所有列SUM():
SELECT Last, OrderLine.OrdID, OrdDate, SUM(Price*Qty) AS total_price
...
GROUP BY Last, OrderLine.OrdID, OrdDate
ORDER BY Last DESC, OrderLine.OrdID DESC;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36834 次 |
| 最近记录: |