以下SQL有效:
select
column1
from
table1
where
column1 > 10
以下没有:
select
abs(column1 - column2) column_diff
from
table1
where
column_diff > 10
为什么呢?我该如何解决?我想说的是,给我所有的行,两列的差值的绝对值大于10'。感谢。
答案 0 :(得分:1)
您的查询将无效,因为sql引擎将按以下步骤编译您的查询:
from
条款 where
条款
select
条款
因此,在执行where
子句时,别名column_diff
将不可用,因此查询将无效。
解决方案:
select
abs(column1 - column2) as column_diff
from
table1
where
abs(column1-column2) >10;
希望它有所帮助!