> Faqs > Duda SQL con tablas relacionadas y selects anidados para saber el registro

Duda SQL con tablas relacionadas y selects anidados para saber el registro

vuelvo a tener problemas con una consulta sql
Tengo una tabla Fabricante(cod_fabricante, nombre,pais) y otra Juguetes(cod_juguete, cod_fabricante, descripción, precio, edad, stock)
Me piden al nombre del fabricante del cual existe la mayor cantidad de juguetes en una juguetería, pero no logro hacer la consulta sin el empleo de tablas auxiliares, y no me dejan utilizar éstas.
¿Alguien podría ayudarme? muchas gracias!

Respuestas

Hola, sería asi:

NOTA: coloque el AS por si lo haces en Access en otros gestores de Base de Datos no hace falta colocarlo para crear el alias. Importante: es necesario el IN que esta en el SELECT principal porque puede haber mas de un fabricante con la misma cantidad de juguetes (y que esta sea la cantidad maxima que existe)...

SELECT * FROM FABRICANTE AS A WHERE a.cod_fabricante in (SELECT COD_FABRICANTE FROM (SELECT B.COD_FABRICANTE, COUNT(*) AS CANTIDAD FROM FABRICANTE B, JUGUETES C WHERE B.COD_FABRICANTE = C.COD_FABRICANTE GROUP BY B.COD_FABRICANTE HAVING COUNT(*) = (SELECT MAX(CANTIDAD) FROM (SELECT COUNT(*) AS CANTIDAD FROM FABRICANTE E, JUGUETES F WHERE E.COD_FABRICANTE = F.COD_FABRICANTE GROUP BY E.COD_FABRICANTE))))

Saludos que sea de gran ayuda,

Alexander Vega