title: Using an Alias in a WHERE clause
body: <p>I have a query which is meant to show me any rows in table A which have not been updated recently enough. (Each row should be updated within 2 months after "month_no".):</p>
  
  <pre><code>SELECT A.identifier
       , A.name
       , TO_NUMBER(DECODE( A.month_no
               , 1, 200803 
               , 2, 200804 
               , 3, 200805 
               , 4, 200806 
               , 5, 200807 
               , 6, 200808 
               , 7, 200809 
               , 8, 200810 
               , 9, 200811 
               , 10, 200812 
               , 11, 200701 
               , 12, 200702
               , NULL)) as MONTH_NO
       , TO_NUMBER(TO_CHAR(B.last_update_date, 'YYYYMM')) as UPD_DATE
    FROM table_a A
       , table_b B
   WHERE A.identifier = B.identifier
     AND MONTH_NO &gt; UPD_DATE
  </code></pre>
  
  <p>The last line in the WHERE clause causes an "ORA-00904 Invalid Identifier" error. Needless to say, I don't want to repeat the entire DECODE function in my WHERE clause. Any thoughts? (Both fixes and workarounds accepted...)</p>