选择对两列求和并希望将结果用作选择条件的查询 [重复]
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 您的帖子,使其更具可读性(例如,参见其他答案)。谢谢。以上是关于选择对两列求和并希望将结果用作选择条件的查询 [重复]的主要内容,如果未能解决你的问题,请参考以下文章