sql – 我得到:“你试图执行一个不包含指定表达式’OrdID’的查
发布时间:2021-01-17 14:22:43 所属栏目:MsSql教程 来源:网络整理
导读:我的代码如下: 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.Pr
我的代码如下: 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; 此代码之前已经得到了回答,但含糊不清.我想知道我哪里出错了.
是我不断得到的错误消息,无论我改变什么,它都会给我这个错误.是的我知道,它是用SQL-92编写的,但是我该如何使它成为一个合法的功能呢? 解决方法对于几乎每个DBMS(MySQL是我所知道的唯一例外,但也可能有其他例外),SELECT中未聚合的每一列都需要在GROUP BY子句中.在您的查询的情况下,这将是除SUM()中的列之外的所有内容:SELECT Last,SUM(Price*Qty) AS total_price ... GROUP BY Last,OrdDate ORDER BY Last DESC,OrderLine.OrdID DESC; (编辑:上饶站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |