gpt4 book ai didi

sql - 如何在 WHERE 子句中使用临时列名?

转载 作者:行者123 更新时间:2023-12-01 23:27:47 24 4
gpt4 key购买 nike

首先,我必须说我在来到这里之前已经研究过我的问题并且看到了类似的 question here及其所有答案,但不幸的是,它对我没有帮助。

Oracle SQL。

我有:

SELECT 
first_name,
salary_dollars,
0.85 * salary_dollars AS salary_euro
FROM
employees
WHERE
0.85 * salary_dollars > 4000;

salary_euro 是我的临时专栏。我想避免在 WHERE 子句中进行双重计算,但是如果我在请求中写入 WHERE salary_euro > 4000 那么我会收到此错误:

ORA-00904: "SALARY_EURO": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 6 Column: 7

最佳答案

绕过此限制的一种方法是使用子查询来创建临时列:

SELECT * 
FROM (SELECT first_name,
salary_dollars,
0.85 * salary_dollars AS salary_euro
FROM employees) e
WHERE salary_euro > 4000;

关于sql - 如何在 WHERE 子句中使用临时列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66930005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com