Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/04/2015, 14:43
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Duda elemental de Group By.

Nadie ha dicho que hay aun problema con lo que estés trabajando. La pregunta es porque suele suceder que una misma query en dos DBMS se puede escribir de formas diferentes, de acuerdo a las particularidades de cada uno.
El problema que te enfrentas es, en realidad, de entendimientos de las consultas.
La primera que te piden dice esto:
Cita:
--Muestra el nombre de los empleados cuyo salario
--es el salario más bajo en el departamento donde trabaja.
Esto significa que necesitas los nombres de los empleados con menor salario por cada departamento. Pero no te pide qué salario, y esencialmente tampoco el departamento, pero esto ultimo está implícito.
Lo primero que debes saber es cuál es el salario más bajo por departamento:
Código SQL:
Ver original
  1. SELECT department_id, MIN (salary) Salary
  2. FROM employee
  3. GROUP BY department_id, first_name;
En este contexto debes verificar sobre dos datos y no uno, por lo que mi idea sería:
Código SQL:
Ver original
  1. SELECT department_id, first_name
  2. FROM employee
  3. WHERE (department_id, salary) IN (SELECT department_id, MIN (salary) Salary
  4. FROM employee
  5. GROUP BY department_id, first_name);
Esto te puede devolver varias veces el mismo departamento, de acuerdo a cuantos empelados haya con ese mismo sueldo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)