Veamos si entendí.
Yo tengo una tabla empleados.
Código SQL:
Ver originalpruebas=> SELECT *FROM empleados;
cedula | nombre | fecha_nacimiento
--------+---------------+------------------
124 | Diego Obando | 2008-06-15
125 | daniel orozco | 2010-05-27
(2 filas)
Quiero listar como menor o mayor los registros con fechas inferiores al año 2010.
Código SQL:
Ver originalpruebas=> CREATE VIEW prueba AS
pruebas-> SELECT
pruebas-> cedula,
pruebas-> nombre,
pruebas-> CASE
pruebas-> WHEN e.fecha_nacimiento < '2009-12-31'::DATE THEN 'menor'
pruebas-> ELSE 'mayor'
pruebas-> END AS "fechas"
pruebas-> FROM empleados e;
CREATE VIEW
pruebas=> SELECT *FROM prueba;
cedula | nombre | fechas
--------+---------------+--------
124 | Diego Obando | menor
125 | daniel orozco | mayor
(2 filas)
pruebas=> SELECT *FROM prueba WHERE fechas='menor';
cedula | nombre | fechas
--------+--------------+--------
124 | Diego Obando | menor
(1 fila)
No veo en que parte tienes problemas para que puedas operar con alias en una vista.