Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo
FAQ: Duda SQL con tablas relacionadas y selects anidados para saber el registro

estoy aqui mal Se muestran 3 comentarios sin revisar

David Segoviano  16/1/08 
Hola, yo opino que hay una solucion un poco menos compleja.

SELECT F.cod_fabricante, F.nombre, SUM(J.stock) AS cant_jug FROM Fabricante AS F INNER JOIN Juguetes AS J ON F.cod_fabricante=J.cod_fabricante GROUP BY F.cod_fabricante ORDER BY cant_jug DESC LIMIT 0,1

Claro hay que revisar que tabla tiene menos registros para acomodar el JOIN para que sea optimo.

Aqui lo exlico:
-> seleccionas los campos que te interese conocer.
-> se hace la interseccion de las tablas
-> se hace una agrupacion de registros en el campo llave principal. (esto le da sentido al sum de stock o a un count de registros) para sacar el total de juguetes de cada fabricante
-> ordenamos por el contador en orden desendente
-> y limitamos los resultados a 1 desde el registro 0

Espero te sirva.
Exito.

fredy rua  17/1/08 
Para hacer esta consulta puedes trabajar con la funcion max para consultar el maximo valor agrupado por nombre el cual tomarias de la tabla de fabricantes, la clausula top 1 te toma el primer registro de la consulta y darle un order by desc, aca te envio el codigo espero te sirva. Feliz dia.

SELECT TOP 1 nombre
FROM Fabricante AS F
INNER JOIN Juguetes AS J
ON F.cod_fabricante = J.cod_fabricante
GROUP BY nombre
ORDER BY MAX(stock) DESC

fredy rua  17/1/08 
Esta seria otra manera de hacerlo:
SELECT TOP 1 nombre
FROM Fabricante AS F
INNER JOIN Juguetes AS J
ON F.cod_fabricante = J.cod_fabricante
ORDER BY stock DESC

Ver el articulo / faq completo Ver la FAQ y todos sus comentarios
Añadir un comentario al artículo Añadir un comentario del artículo
  Ir arriba


DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia