首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL查询中添加新列

在SQL查询中添加新列
EN

Stack Overflow用户
提问于 2021-10-24 15:56:25
回答 1查看 67关注 0票数 0

我想使用查询的结果创建新的列,以便找到运费与收入的变化。

最初的问题是,额外10%的运费对收入的影响是什么?我目前正在使用Northwind数据集。

代码语言:javascript
复制
select sum(UnitPrice*Quantity*(1-Discount))  - sum(Freight*1.1) as New,  sum(UnitPrice*Quantity*(1-Discount))  - sum(Freight) as Old, New-Old
from "Order Details", Orders;

SQL查询不工作,因为它不识别新变量“新建”和“旧”

我已经更新了暗示的版本,但是它会产生错误混乱。

代码语言:javascript
复制
NexusDB: Query534984250: Query execution failed: 
NexusDB: Correlation name for subquery expected:
代码语言:javascript
复制
SELECT New,Old,New-Old
FROM  (select
        sum(UnitPrice*Quantity*(1-Discount))  - sum(Freight*1.1) as New,
        sum(UnitPrice*Quantity*(1-Discount))  - sum(Freight) as Old
            FROM "Order Details"
               INNER JOIN  "Orders"  ON ("Order Details".OrderID = Orders.OrderID)
      )  ;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-24 16:09:20

在子查询中运行列新和旧列后,可以使用它们

但是,您的(子)查询不会给出正确的结果

代码语言:javascript
复制
From `Order Details`, `Orders`

是两个表之间的交叉连接,返回的行太多,无法给出预期的结果。

所以你会

代码语言:javascript
复制
FROM `Order Details` od 
    INNER JOIN  `Orders` o ON o.id = od.order_REf_id

然后你仍然必须检查结果是否是你想要的

代码语言:javascript
复制
SELECT New,Old, New-Old
FROM  (select 
        sum(UnitPrice*Quantity*(1-Discount))  - sum(Freight*1.1) as New,
        sum(UnitPrice*Quantity*(1-Discount))  - sum(Freight) as Old
        from `Order Details`, `Orders`
      ) t1

在最后的效果,它会像

代码语言:javascript
复制
SELECT New,Old, New-Old
FROM  (select 
        sum(UnitPrice*Quantity*(1-Discount))  - sum(Freight*1.1) as New,
        sum(UnitPrice*Quantity*(1-Discount))  - sum(Freight) as Old
            FROM `Order Details` od 
               INNER JOIN  `Orders` o ON o.id = od.order_REf_id`
      ) t1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69698425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档