Consulta SQL

Que tal lo molesto por lo siguiente:
He realizado la siguiente consulta con SQL:
Select min(sueldo), Departamento from personal group by Coddep;
Donde me arroja el mínimo sueldo por departamento por ejemplo:
1250,00 Administración
1500,00 Contaduría
1700,00 Informática
Lo que no se como hacer es que ahora, una vez realizada la consulta saber ademas el nombre y apellido de las personas que poseen esos sueldos
Gracias y espero que me haya entendido.
Saludos
martin

1 Respuesta

Respuesta
1
Creo que sí entiendo la cuestión. Ahora has de entender que ese sueldo mínimo por departamento puede tenerlo una o varias personas. Es decir, puede haber una sola persona en Administración que cobre 1250 o puede que sean 5 los que cobran ese sueldo.
Supongamos que quieres obtener todas las personas que cobran ese sueldo mínimo, entonces tendrás que hacer una consulta relacionada con la anterior. Algo como:
SELECT * FROM (SELECT MIN(sueldo) AS msueldo, Departamento FROM personal GROUP BY Coddep) AS ms INNER JOIN personal AS p ON ms.msueldo=p.sueldo AND ms.Departamento=p.Departamento
De aquí, en teoría, puedes obtener los datos que quieras de esos empleados que cumplen los requisitos.
David espectacular anduvo perfecto te hago una ultima consultita si hago la siguiente modificacion 
SELECT apellido,nombre,departamento FROM (SELECT MIN(sueldo) AS msueldo, Departamento FROM personal GROUP BY Coddep) AS ms INNER JOIN personal AS p ON ms.msueldo=p.sueldo AND ms.Departamento=p.Departamento
Me sale el error:
Executing Query. Wait ...
MySQL ERROR:
Column 'departamento' in field list is ambiguous
como lo puedo solucionar para mostrar solo el nombre apellido y departamento
Gracias muy útil la respuesta
Disculpa la molestia
martin
Puesto que ese campo está en las dos 'tablas' que forman la consulta te dice que decidas cual de los dos quieres (en realidas son iguales, pero él no lo 'sabe'). Así que la consulta queda:
SELECT apellido,nombre, p.departamento FROM (SELECT MIN(sueldo) AS msueldo, Departamento FROM personal GROUP BY Coddep) AS ms INNER JOIN personal AS p ON ms.msueldo=p.sueldo AND ms.Departamento=p.Departamento

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas