Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created January 17, 2022 02:09
Show Gist options
  • Save parzibyte/cdd685bd0b98e1631ebe3d7f3c2aacfb to your computer and use it in GitHub Desktop.
Save parzibyte/cdd685bd0b98e1631ebe3d7f3c2aacfb to your computer and use it in GitHub Desktop.
select e.nombre, e.apellido_paterno, e.apellido_materno, e.sueldo,
(
select count(*) as dias
from asistencia_de_empleado
where asistencia_de_empleado.estado = 1
and asistencia_de_empleado.fecha >= ?
and asistencia_de_empleado.fecha <= ?
and asistencia_de_empleado.id_empleado = e.id
) dias_trabajados,
(
select coalesce(json_agg(bonos), '[]')
from (
select cantidad,
concepto
from bonos_empleado_nomina
where id_nomina = ?
and id_empleado = e.id
) bonos
) bonos,
(
select coalesce(json_agg(descuentos), '[]')
from (
select cantidad,
concepto
from descuentos_empleado_nomina
where id_nomina = ?
and id_empleado = e.id
) descuentos
) descuentos,
(
select coalesce(json_agg(incentivos), '[]')
from (
select i.eficiencia,
o.nombre,
i.fecha,
i.monto
from incentivo_de_empleado_en_nominas i
inner join operaciones_de_cortes o on i.id_operacion = o.id
where i.id_nomina = ?
and i.id_empleado = e.id
) incentivos
) incentivos,
(
select coalesce(json_agg(retiros), '[]')
from (
select r.fecha,
r.monto
from retiro_de_ahorros r
where r.id_nomina = ?
and r.id_empleado = e.id
) retiros
) retiros,
(
select coalesce(json_agg(ahorros), '[]')
from (
select a.monto
from ahorro_de_empleado_en_nominas a
where a.id_nomina = ?
and a.id_empleado = e.id
) ahorros
) ahorros
from empleados e;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment