SQL - Query que me trae por el camino de la amargura

   
Vista:

Query que me trae por el camino de la amargura

Publicado por Jorge (4 intervenciones) el 03/02/2018 17:47:01
Tengo una tabla EMPLEADOS con los campos idEmpleado, categoria (jefe, operario, ingeniero, camarero...), salarioEmpleado.

Quiero recuperar: idEmpleado, categoria, salario y salario medio de su categoría de todos los empleados cuyo salarioEmpleado esté por encima de la media de los salarios de su categoría.

Parece simple, y puede que lo sea, pero no veo la solución.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Leonardo Daniel A.

Query que me trae por el camino de la amargura

Publicado por Leonardo Daniel A. (13 intervenciones) el 03/02/2018 18:15:57
Hola pues creo que podria ser

1
2
SELECT idEmpleado, categoria, salario, AVG(salario) as salarioPromedio
    FROM Empleados GROUP BY categoria HAVING salario > AVG(salario)


http://www.sqlcourse2.com/having.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Query que me trae por el camino de la amargura

Publicado por Jorge (4 intervenciones) el 03/02/2018 21:12:52
Eso no devuelve nada :)


Quiero recuperar: idEmpleado, categoria, salario y salario medio de su categoría de todos los empleados cuyo salarioEmpleado esté por encima de la media de los salarios de su categoría.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SOLUCIONADO: Query que me trae por el camino de la amargura

Publicado por Jorge (4 intervenciones) el 04/02/2018 22:24:46
Solución a mi propio problema jeje


1
2
3
4
5
6
SELECT EMP.idEmpleado, EMP.categoria, EMP.salario, SUB.salario_medio
FROM EMPLEADOS EMP
JOIN (
SELECT CATEGORIA, AVG(SALARIO) AS salario_medio FROM EMPLEADOS GROUP BY CATEGORIA
) SUB
ON EMP.categoria = SUB.CATEGORIA AND EMP.salario > SUB.salario_medio;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad