Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/01/2006, 20:17
edwinmc
 
Fecha de Ingreso: octubre-2003
Mensajes: 152
Antigüedad: 20 años, 6 meses
Puntos: 2
Algunas dudas sobre consultas

Hola amigos, estuve viendo algunos ejercicios de un folleto y me encontre con estas consultas, que no tengo algunas dudas de como resolverlos.

Estas son las Tablas
Empleado(CodigoE, Nombre, Paterno, Materno).
Trabajos(CodigoE, Horas, Calificacion).

La relacion es Muchos "trabajos" para un "empleado".

Ejercicios
(a) Nombre completo de los empleados que tienen todas sus calificaciones mayores a 16 (sin repetición).
Código:
SELECT DISTINCT e.nombre, e.paterno, e.materno FROM empleado e,
trabajos t WHERE e.codigoe=t.codigoe GROUP BY(e.codigoe)
HAVING MIN(t.calificacion)>16;

bueno este me resulta, pero porfa sus criticas
(b) Empleados para los cuales el número de trabajos excede a 70(trabajos). Para estos empleados mostrar la hora del trabajo mas largo y su respectiva calificación (del trabajo mas largo).
Código:
SELECT e.codigoe, max(horas), t.calificacion
FROM empleado e, trabajos t WHERE e.codigoe = t.codigoe
GROUP BY (e.codigoe);

aqui el problema es que no puedo hacer que el mayor 
de horas de un empleado concurde con su calificacion.
(c) Para cada código de cliente X el mayor de: la hora promedio de sus trabajos con calificación 12 y la hora promedio de sus trabajos con calificación 17.
Código:
ups aqui no puedo, porque creo que quiere que reporte las siguientes columnas

1ra columna : |codigo|
2da columna : |el mayor resultado de las 2 subconsultas|
Este codigo tome base oracle, postgree, en un manual sobre consultas anidadas y HAVING GROUP BY, y un poco de JOIN.
Ver si me ayudan a despejar estas dudas Gracias de antemano amigos.
__________________
Mamani Calderón, Edwin Fredy
Ingeniería de Sistemas www.gruposistemas.com