el primero muestra los descuentos y la suma de ellos
Código SQL:
y el segundo muestra los diasextras trabajado y su total Ver original
SELECT A.IDEMPLEADO,CONCAT(NOMBREEMPLEADO,' ',APELLIDOEMPLEADO) AS NOMBRE,C.SALARIOEMPLE,B.NOMBRESUCURSAL,COUNT(DESCUENTO) AS NDESCUENTO, SUM(DESCUENTO) AS DESCUENTO FROM EMPLEADO A INNER JOIN SUCURSAL B ON A.IDSUCURSAL = B.IDSUCURSAL INNER JOIN SALARIO C ON A.IDEMPLEADO = C.IDEMPLEADO LEFT JOIN DESCUENTO D ON A.IDEMPLEADO = D.IDEMPLEADO WHERE A.IDSUCURSAL = 1 AND (D.fecha BETWEEN '2015-11-06' AND '2015-11-10') GROUP BY A.IDEMPLEADO UNION ALL SELECT A.IDEMPLEADO,CONCAT(NOMBREEMPLEADO,' ',APELLIDOEMPLEADO) AS NOMBRE,C.SALARIOEMPLE,B.NOMBRESUCURSAL,0 AS NDESCUENTO, 0 AS DESCUENTO,0 AS numerodia,0 AS sumaex FROM EMPLEADO A INNER JOIN SALARIO C ON A.IDEMPLEADO = C.IDEMPLEADO INNER JOIN SUCURSAL B ON A.IDSUCURSAL = B.IDSUCURSAL WHERE A.IDSUCURSAL = 1 AND A.IDEMPLEADO NOT IN ( SELECT DISTINCT A.IDEMPLEADO FROM EMPLEADO A LEFT JOIN DESCUENTO D ON A.IDEMPLEADO = D.IDEMPLEADO WHERE A.IDSUCURSAL = 1 AND (D.fecha BETWEEN '2015-11-06' AND '2015-11-10') )
Código SQL:
si los uno los dos me repite los empleados dos veces donde los primeros 3 (solo 3 datos hay en idsucursal=1) me muestra sus descuentos pero luego me vuelve a mostrar esos mismos 3 solo que ahora don el dia extra y su valor lo que quiero es que solo me liste los 3 empleados y ahi me aprezcan sus descuentos y dias extras juntos Ver original
SELECT A.IDEMPLEADO,CONCAT(NOMBREEMPLEADO,' ',APELLIDOEMPLEADO) AS NOMBRE, C.SALARIOEMPLE,B.NOMBRESUCURSAL, SUM(NUMERODIA) AS NUMERODIA,SUM(VALOR) AS SUMAEX FROM EMPLEADO A INNER JOIN SUCURSAL B ON A.IDSUCURSAL = B.IDSUCURSAL INNER JOIN SALARIO C ON A.IDEMPLEADO = C.IDEMPLEADO LEFT JOIN DIAEX E ON E.IDEMPLEADO=A.IDEMPLEADO WHERE A.IDSUCURSAL=1 AND E.FECHA BETWEEN'2015-11-06' AND '2015-11-10' GROUP BY A.IDEMPLEADO UNION ALL SELECT A.IDEMPLEADO,CONCAT(NOMBREEMPLEADO,' ',APELLIDOEMPLEADO) AS NOMBRE, C.SALARIOEMPLE,B.NOMBRESUCURSAL, 0 AS NUMERODIA,0 AS SUMAEX FROM EMPLEADO A INNER JOIN SALARIO C ON A.IDEMPLEADO=C.IDEMPLEADO INNER JOIN SUCURSAL B ON A.IDSUCURSAL = B.IDSUCURSAL WHERE A.IDSUCURSAL = 1 AND A.IDEMPLEADO NOT IN( SELECT DISTINCT A.IDEMPLEADO FROM EMPLEADO A LEFT JOIN DIAEX E ON A.IDEMPLEADO=E.IDEMPLEADO WHERE A.IDSUCURSAL=1 AND (E.FECHA BETWEEN'2015-11-06' AND '2015-11-10') )
les agradeceria mucho si me pudieran ayudar