选择对两列求和并希望将结果用作选择条件的查询 [重复]

Posted

技术标签:

【中文标题】选择对两列求和并希望将结果用作选择条件的查询 [重复]【英文标题】:Select query which sums two columns and want to use the result as a criteria for the select [duplicate] 【发布时间】:2020-08-26 05:26:10 【问题描述】:

我正在使用 Oracle SQL Developer。

我想将价格和数量两列的值相乘,然后使用总和作为标准。用户需要能够确定 sum 字段的最小值是多少,并且查询应该返回这两列之和高于其指定最小值的所有结果。

我现在的查询如下所示:

SELECT PROD_PRICE, PROD_QUANTITY, PROD_PRICE * PROD_QUANTITY AS "PROD_AMOUNT" 
FROM PRODUCT 
WHERE PROD_AMOUNT >= &PROD_AMOUNT

我收到的错误消息是“PROD_AMOUNT”是无效标识符。

非常感谢!

【问题讨论】:

【参考方案1】:

您不能在 where 子句中使用计算列的别名,您需要重复表达式才能使用计算值执行过滤

SELECT PROD_PRICE,
       PROD_QUANTITY, 
       PROD_PRICE * PROD_QUANTITY AS "PROD_AMOUNT" 
FROM PRODUCT 
WHERE (PROD_PRICE * PROD_QUANTITY)>= &PROD_AMOUNT

【讨论】:

【参考方案2】:

任何 sql ex。 oracle、mysql、SQLite、SQLServer ...等从不在文件管理器条件中使用别名(在哪里或有)

SELECT PROD_PRICE,
   PROD_QUANTITY, 
   PROD_PRICE * PROD_QUANTITY AS "PROD_AMOUNT" 
FROM PRODUCT 
WHERE (PROD_PRICE * PROD_QUANTITY)>= &PROD_AMOUNT

【讨论】:

欢迎来到 SO。请花时间阅读how to format answers 和edit 您的帖子,使其更具可读性(例如,参见其他答案)。谢谢。

以上是关于选择对两列求和并希望将结果用作选择条件的查询 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

SQL使用group by获取SUM,但有条件地对两列之一的内容求和

SQL Server:如何对两列/条件进行重复数据删除?

高级查询 - 选择,按条件求和并返回累加值

HiveQL:将查询结果用作变量

对两列数据进行排序并保留不重复的值

DAX函数 怎么让两列相加?