如果我在SELECT子句中使用别名,我该如何引用该别名?

cod*_*ial 8 sql

我想做这样的事情:

SELECT round(100*(col_a - col_b)/col_a, 1) as Foo, Foo - col_c as Bar
FROM my_table
WHERE...;
Run Code Online (Sandbox Code Playgroud)

但是,我得到一个错误说Foo不明.由于Foo是从一堆其他列的某些计算得出的,所以我不想再重复该公式Bar.任何解决方法?

tri*_*san 9

SELECT Foo, Foo - col_c as Bar
from (
SELECT round(100*(col_a - col_b)/col_a, 1) as Foo,  col_c
FROM my_table
WHERE...

) t;
Run Code Online (Sandbox Code Playgroud)

  • +1:与Hallainzil的答案相同,但没有错误:) (2认同)