MySQL - Consultas anidadas en SQL. ERROR 1241

 
Vista:

Consultas anidadas en SQL. ERROR 1241

Publicado por Pandalord (1 intervención) el 10/03/2020 20:03:25
Hola, tengo una duda sobre consultas anidadas, este es el ejercicio:

Mostrar el nombre del departamento cuya suma de salarios sea la más alta, indicando el valor de la suma.

teniendo dos tablas:

Departamentos(codDepto, nombreDpto, cuidad, codDirector)
Empleados(nDIEmp, nomEmp, sexEmp, fecNac, fecIncorporacion, salEmp, comisionE, cargoE, jefeID, codDepto)

Resultado:
SELECT sum(salEmp), codDepto FROM empleados GROUP BY codDepto

He logrado obtener la suma de salarios de cada uno de los departamentos, tengo entendido que a esta consulta habría que aplicarle una consulta donde se tenga el max(salEmp) de la suma de los salarios de cada uno de los departamentos.

lo he formulado de esta manera:
SELECT max(empleados.salEmp), nombreDpto
FROM empleados NATURAL JOIN departamentos
WHERE salEmp IN (SELECT sum(empleados.salEmp), empleados.codDepto FROM empleados GROUP BY codDepto)
GROUP BY codDepto

y me da error 1241.
Error Code: 1241. Operand should contain 1 column(s)

la duda en si es como utilizar un operador de agrupacion 'max(atributo)' sobre otro 'sum(atributo)',
es decir max(sum(atributo)).¿Se puede?¿Como lo hago?

Gracias por la ayuda de antemano!
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
sin imagen de perfil
Val: 65
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Consultas anidadas en SQL. ERROR 1241

Publicado por elhabraque (21 intervenciones) el 11/03/2020 12:08:39
Buenos días

Sin entrar en más comprobaciones, veo que la condición

WHERE salEmp IN (SELECT sum(empleados.salEmp), empleados.codDepto FROM empleados GROUP BY codDepto)

se devuelven dos campos en el SELECT pero se compara con un solo campo de la tabla. En estos casos, se debería comparar el mismo número de campos, además tienen que ser del mismo tipo (no puedes comparar cadenas de texto con expresiones numéricas).
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