Esperando se encuentren bien, estoy teniendo la siguiente situación, en mi trabajo hay un departamento que quiere llevar el control de las nominas que se generan. En ese sentido, hay una tabla que se llama procedimientos y como tal, tiene los siguientes campos:
No Descripcion Cant Fecha Monto
1 Bono Vacacional - Enero 5 2014-01-07 10000
2 Bono Vacacional - Febrero 40 2015-02-07 20000
3 Empleados fijos - Enero 20 2015-01-01 30000
4 Empleados fijos - Febrero 20 2015-02-07 30000
Hay dos tipos de nominas como ellos le dicen, empleados fijos y Bonos vacacionales.
Como están en una misma tabla con este código:
Código SQL:
Ver original
SELECT datename(MONTH, empfijos.fecha) AS empMes, SUM(empfijos.monto) AS empSuma, SUM(empfijos.Cant) AS empCantidad, SUM(bono.monto) AS bonoSuma, SUM(bono.Cant) AS bonoCantidad FROM procedimientos empfijos INNER JOIN procedimientos bono ON datename(MONTH, empfijos.fecha) = datename(MONTH, bono.fecha) WHERE empfijos.descripcion LIKE '%Empleados%' AND bono.descripcion LIKE '%Bono%' GROUP BY datename(MONTH, empfijos.fecha)
puedo obtener el resultado siguiente:
empMes empSuma empCantidad bonoSuma bonoCantidad
Enero 30000 20 10000 5
Febrero 30000 20 20000 40
Ahora hasta aquí todo esta bien, el tema es que si por ejemplo si en febrero han pagado la nomina de empleados fijos, y no han pagado el bono vacacional, solo me aparecen los registros de enero aunque haya uno que se pago.
Es posible que aparezca el registro de febrero aunque sea con el empleado fijo como esta a continuacion?
empMes empSuma empCantidad bonoSuma bonoCantidad
Enero 30000 20 10000 5
Febrero 30000 20 0 0
Saludos.