Ver Mensaje Individual
  #9 (permalink)  
Antiguo 27/04/2015, 06:04
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.

Cita:
Iniciado por verdeazultrans Ver Mensaje
Gracias por tu ayuda pero esa consulta sigue sin funcionar, aparece las mismas filas (32) que en mi consulta original a pesar de que existen 10 departamentos, y he podido comprobar que no aparecen tantos porque tengan el mismo salario.

Creo que he encontrado una solución. que ahora que me fijo es muy parecida a la tuya, pero sigue sin satisfacerme del todo, quizás porque sea demasiado cabezón. Lo que he hecho ha sido utilizar la única consulta que funciona

Código SQL:
Ver original
  1. SELECT department_id, MIN (salary) Salary
  2. FROM employee
  3. GROUP BY department_id

Y meterla dentro de una subconsulta, haciendo que me muestre el nombre que tenga un salario que coincida con la consulta que acabo de poner. Esta es la solución que he encontrado:

Código SQL:
Ver original
  1. SELECT first_name, department_id, salary
  2. FROM employee
  3. WHERE (department_id, salary) IN
  4. (SELECT department_id, MIN (salary) Salary
  5. FROM employee
  6. GROUP BY department_id)


La diferencia entre esta y todas las anteriores es que la agrupación se hace por una columna y la columna de la función, no por tres columnas. Lo que me extraña, ¿es qué no se puede agrupar por varias columnas y una función?
Por cierto, me acabo de dar cuenta de una cosa...
¿Te das cuenta que la consulta que pones al final de este post es exactamente la misma que yo te propuse? No parecida, es LA MISMA.

¿Por qué dices enctonces que no te funcionó?

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)