加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql – 我获得:“你试图执行一个不包括指定表达式’OrdID’的查

发布时间:2021-01-18 01:56:26 所属栏目:编程 来源:网络整理
导读:我的代码如下: 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;

此代码之前已经获得了答复,但暗昧不清.我想知道我那边堕落了.

You tried to execute a query that does not include the specified expression ‘OrdID’ as part of an aggregate function.

是我不绝获得的错误动静,无论我改变什么,它城市给我这个错误.是的我知道,它是用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;

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读