SQL - ERROR EN SELECT

 
Vista:

ERROR EN SELECT

Publicado por maria (1 intervención) el 29/10/2009 15:18:23
Hola si alguien me puede ayudar se lo agradecería.

Tengo las tablas PERSONAL y TAREAS.

La tabla PERSONAL tiene entre otras columnas el código (cod_emp), el nombre_apellido(nom_apellido), la categoría, el salario, la tarea que realiza (cod_tarea) y el número de horas trabajadas este mes(horas_mes).

La tabla TAREAS con las columnas cod_tarea y precio_hora.

Deseo obtener el nombre de los empleados cuyo importe mensual facturado sea superior a la media del salario de alguna categoría.

1 Select nom_apellido from personal p
2 Where
3 (select horas_mes*precio_hora
4 from personal p3,tareas t2
5 where p.cod_emp=p3.cod_emp and
6 p3.cod_tarea=t2.cod_tarea) > any
7* (select avg(salario) from personal group by categoria);

where p.cod_emp=p3.cod_emp and
*
ERROR en línea 5:
ORA-00979: no es una expresión GROUP BY

Pero si cambio > any por = any no me da error

Un saludo
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

RE:ERROR EN SELECT

Publicado por Ethan (9 intervenciones) el 10/11/2009 00:34:39
select nom_apellido from
(
select nom_apellido,categoria,(horas_mes*precio_hora) salario_mes
from personal p3,tareas t2
where p.cod_emp=p3.cod_emp and
p3.cod_tarea=t2.cod_tarea
) A,
(select categoria,avg(salario) promediocat from personal group by categoria) B

where
A.categoria=B.categoria
A.salario_mes>promediocat

lo otro es error de sintaxis documentate bien sobre consultas en el where :d son validas en ciertos casos
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