Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2015, 18:01
jeremiselxi
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 15 años, 7 meses
Puntos: 22
Unir una tabla con inner Join

Buenas noches.

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
  1. SELECT datename(MONTH, empfijos.fecha) AS empMes, SUM(empfijos.monto) AS empSuma, SUM(empfijos.Cant) AS empCantidad,
  2.  
  3. SUM(bono.monto) AS bonoSuma, SUM(bono.Cant) AS bonoCantidad
  4.  
  5. FROM procedimientos empfijos
  6.  
  7. INNER JOIN procedimientos bono ON  datename(MONTH, empfijos.fecha) = datename(MONTH, bono.fecha)
  8.  
  9. WHERE empfijos.descripcion LIKE '%Empleados%' AND bono.descripcion LIKE '%Bono%'
  10.  
  11. 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.

Última edición por jeremiselxi; 08/02/2015 a las 07:53