エイリアス名の処理順序を知らんかった・・・・
oracleで、SELECTした時に、別名(エイリアス名)を付けたカラムを、
WHERE句で指定できない。
http://questionbox.jp.msn.com/qa2085057.html
select 'ABC' "x1" from dual
は、実行できるが
select 'ABC' "x1" from dual WHERE x1=''
は、ORA-00904:"X1":無効な識別子です
select x1 from (select 'ABC' x1 from dual ) t1 WHERE t1.x1=''
これはOK。
なお、order by で指定するのはOK。
知らなかった、恥ずかしい限りだ。