consulta sueldos advice por puesto

PHOTO EMBED

Fri Sep 20 2024 21:20:17 GMT+0000 (Coordinated Universal Time)

Saved by @fededeleon #sql

SELECT 
    CASE 
        WHEN nombre = 'FEDERICO DE LEON' 
        THEN 'Jefe de Transformacion y Personas'
        ELSE PUENOM
    END AS PUENOM,
    AVG(SUELDO) AS Promedio_Sueldo_Anual,
    AVG(PRODUCTIVIDAD) AS Promedio_Productividad,
    AVG([COMISIONES VARIABLES]) AS Promedio_Comisiones_Variables_Anual,
    AVG(GRATIFICACION) AS Promedio_Gratificacion
FROM (
    SELECT 
        RTRIM(primer_nombre) + ' ' + RTRIM(primer_apellido) AS nombre,
        PUENOM,
        [PREMIOS] AS PRODUCTIVIDAD,
        [COMISIONES VARIABLES] AS [COMISIONES VARIABLES],
        [SUELDO] AS SUELDO,
        [GRATIFICACION]
    FROM (
        SELECT 
            vista_completa.primer_nombre,
            vista_completa.primer_apellido,
            PUESTOS.PUENOM,
            vista_completa.DEPARTAMENTO_NOMBRE,
            VISTA_GENEXCEL.FECHA_INGRESO,
            vista_genexcel.mes_y_anio,
            vista_genexcel.importe,
            vista_completa.fecha_de_egreso,
            CASE 
                WHEN vista_genexcel.CONCEPTO IN (45, 40, 46) THEN 'COMISIONES VARIABLES'
                ELSE vista_genexcel.concepto_nombre
            END AS concepto_nombre
        FROM 
            sueldosprod.dbo.fundef FUNDEF,
            sueldosprod.dbo.puestos PUESTOS,
            sueldosprod.dbo.vista_genexcel VISTA_GENEXCEL
            INNER JOIN sueldosprod.dbo.vista_completa VISTA_COMPLETA
                ON vista_genexcel.funcionario = vista_completa.ci
        WHERE  
            ((( vista_genexcel.mes_y_anio >= {ts '2024-08-01 00:00:00'} ) and ( vista_genexcel.mes_y_anio < {ts '2024-09-01 00:00:00'} )) or ( vista_genexcel.mes_y_anio >= {ts '2024-01-01 00:00:00'} and VISTA_GENEXCEL.CONCEPTO=2000))
            AND fundef.deffuncod = vista_completa.funcionario_codigo
            AND puestos.empcod = fundef.empcod
            AND puestos.puecod = fundef.puecod
            AND vista_genexcel.CONCEPTO IN (1, 44, 20, 45, 40, 46, 2000)
    ) AS SourceTable
    PIVOT (
        SUM(importe)
        FOR concepto_nombre IN ([PREMIOS], [COMISIONES VARIABLES], [SUELDO],[GRATIFICACION])
    ) AS PivotTable
    WHERE fecha_de_egreso IS NULL 
) AS ResultTable
where PUENOM != 'SIN DEFINIR'
GROUP BY 
    CASE 
        WHEN nombre = 'FEDERICO DE LEON' 
        THEN 'Jefe de Transformacion y Personas'
        ELSE PUENOM
    END
content_copyCOPY