日期:2014-05-16  浏览次数:20449 次

子查询所得的列不能用于where子句

前面已经使用了别名为查询提供更有意义的列名,而且也使用WHERE子句将一些数据排除掉,然而,我们还想在WHERE子句中引用别名。

select sal as salary, comm as commission
from emp
where salary < 5000

解决方案

????将查询作为内联视图就可以就可以引用其中别名的列了:

select *
from (
    select sal as salary, comm as commission
    from emp ) x
where salary < 5000