no se obtienen todos los rangos en la tabla de distribución
Hola, tengo una tabla que usaré para mostrar una curva de distribución. Entonces, las columnas de la tabla son las siguientes.
Emp_Dept, Salary_Bucket, Emp_in_range
finance, 10K-15K, 45%
Finance, 15K-25K, 40%
Finance, 25K-30K, 15%
HR, 25K-30K, 100%
Aquí está el problema, cuando selecciono los datos del departamento de finanzas, muestra los 3 grupos, pero cuando seleccionamos el departamento de recursos humanos, solo muestra 1 grupo salarial, pero según los requisitos, necesitamos los 3 grupos y en los otros grupos, “Emp_in_range” será 0%. ¿Hay alguna manera de mostrar también las otras 2 filas para el departamento de recursos humanos con los grupos salariales restantes, como en la salida?
Emp_Dept, Salary_Bucket, Emp_in_range
finance, 10K-15K, 45%
Finance, 15K-25K, 40%
Finance, 25K-30K, 15%
HR, 25K-30K, 100%
HR, 10K-15K, 0%
HR, 15K-25K, 0%
¿Puedo intentarlo con CTE? He intentado con declaraciones CASE pero no funcionan. Por favor, ayuda.
davy.ai
Sí, puedes lograr esto utilizando una Expresión de Tabla Común (CTE).
Puedes comenzar seleccionando todos los distintos grupos de salario de la tabla y hacer un cruce con los distintos departamentos de empleados para obtener todas las combinaciones posibles. Luego, puedes hacer una unión izquierda con la tabla original basada en las columnas de grupo de salario y departamento. Finalmente, puedes utilizar la función COALESCE para reemplazar los valores NULL con 0%.
Aquí tienes un ejemplo de consulta:
Esto debería darte la salida deseada con todos los grupos de salario para el departamento de RRHH, y una distribución de empleados del 0% para los dos grupos adicionales.