sql-server - 在表达式中使用别名的选择语句
问题描述
有没有办法在另一个表达式中使用一个表达式?我想根据收入(扩展)计算利润 - 商品成本(LMOZ)
寻找这样的东西:SUM("Extension") - SUM("LMOZ") AS 利润。
示例查询:
Select distinct Top 10 rtrim(customer) as SaleCust,Sum(Extension) As Extension,
SUM(COST_Material) + SUM(Cost_Labor) + SUM(Cost_Outside) + SUM(Cost_Overhead) + SUM(Cost_Other) AS LMOZ
From V_Order_Hist_Line
Where Year(Date_Invoice) = 2018 AND Salesperson = 'DJW' AND PRODUCT_LINE LIKE 'R_'
Group By rtrim(customer)
ORDER BY Extension desc
解决方案
您可以使用子查询,但 order by 在子查询中不起作用。您可以执行以下操作。
SELECT distinct Top 10 SaleCust, (Extension - LMOZ) AS Calc, OrdExtension
FROM (
Select rtrim(customer) as SaleCust,Sum(Extension) As Extension,
SUM(COST_Material) + SUM(Cost_Labor) + SUM(Cost_Outside) + SUM(Cost_Overhead) + SUM(Cost_Other) AS LMOZ,
ROW_NUMBER() OVER(ORDER BY Extension DESC) AS OrdExtension
From V_Order_Hist_Line
Where Year(Date_Invoice) = 2018 AND Salesperson = 'DJW' AND PRODUCT_LINE LIKE 'R_'
Group By rtrim(customer)
)
ORDER BY OrdExtension desc
推荐阅读
- ssl - 使用 Superset 在 Impala 上运行查询时出错
- asp.net-mvc - 可以将控制器名称作为字符串吗?
- python - python - 如何基于分隔符在python中拆分字符串,分隔符作为其中一个块的一部分?
- typescript - 使用简单 TypeScrypt 文件中的模块导致错误“无法在模块外使用导入语句”
- python - 错误:OSError: [WinError 126] Le module spécifié est introuvable
- keystonejs - KeystoneJS - 卡在登录页面
- javascript - 是否可以在打字稿中制作像这样工作的模块?
- prolog - prolog中如何实现数据结构
- android - Android webview 无法播放视频文件错误
- django - 如何通过邮件发送waysiprint pdf