Hola a todos estoy trabajando con una consulta con una tabla de fechas y quisiera saber si es posible hacer lo siguiente que explico a continuación en la siguiente consulta
SELECT m.empid AS dni, m.empname AS nombre_empleado, '201802' AS periodo, m.fecha, dia_semana(m.fecha) AS dia_semana, CASE WHEN ((( SELECT min(m1.hora) AS min FROM trans m1 WHERE m1.empid = m.empid AND m.fecha = m1.fecha AND (m1.hora - d.hora_salida) <= '00'::interval AND m1.fecha >= d.fecha_ini and m1.fecha <= d.fecha_fin and d.turno_id = 1 or d.turno_id = 3 GROUP BY (m1.fecha) limit 1 )) - d.hora_ingreso) >= '00:01:00'::time without time zone::interval --En estas lineas desde el case se obtiene un un registro de un campo que al final se resta menos hora de ingreso entonces viene la parte del then THEN (( SELECT min(m1.hora) AS min FROM trans m1 WHERE m1.empid = m.empid AND m.fecha = m1.fecha AND (m1.hora - d.hora_salida) <= '00'::interval AND m1.fecha >= d.fecha_ini and m1.fecha <= d.fecha_fin and d.turno_id = 1 or d.turno_id = 3 GROUP BY (m1.fecha) limit 1)) - d.hora_ingreso --Esta parte del THEN es exactamente igual que arriba la pregunta es puedo guardar el resultado de select de la parte del CASE para usarlo despues en la parte del THEN? asi en lugar de hacer toda la consulta escrita de nuevo podria solamente llamar como una variable algo asi es posible? ELSE NULL::interval END AS tardanz_ma, FROM trans m LEFT JOIN rrhh_persona_horario d on m.empid = d.documento and d.activo = 1 and d.turno_id = 1 or d.turno_id = 3 LEFT JOIN rrhh_persona_horario d1 on m.empid = d1.documento and d1.activo = 1 and d1.turno_id = 2 or d1.turno_id = 4 WHERE ((m.fecha >= d.fecha_ini and m.fecha <= d.fecha_fin ) or (m.fecha >= d1.fecha_ini and m.fecha <= d1.fecha_fin )) and (m.fecha >= '2018-01-26' and m.fecha <= '2018-02-02') GROUP BY m.empid, m.empname, m.fecha, d.fecha_ini,d.fecha_fin,d.hora_ingreso,d.hora_salida,d.turno_id,d.sal_max_ma,d.sal_max_ta, d1.fecha_ini,d1.fecha_fin,d1.hora_ingreso,d1.hora_salida,d1.turno_id,d1.sal_max_ma,d1.sal_max_ta ORDER BY m.fecha; -- José Mercedes Venegas Acevedo cel Mov RPC 964185205