Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2015, 17:36
Avatar de salbatore
salbatore
 
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Suma en una sola consulta

Buenas!!! :D

Hace tiempo que no pregunto algo de MySQL... y mira que soy patoso con las bbdd.

Tengo 2 tablas con una columna que las relaciona.

tabla Libros = ID,NOMBRE,AUTOR
tabla Autores = ID,NOMBRE,PAIS

Necesito sumar todos los libros de un determinado pais. Puedo hacerlo con una consulta sencilla pasando por todos los autores con una subconsulta que cuente sus libros algo como:
Código SQL:
Ver original
  1. SELECT (SELECT COUNT(ID) FROM libros WHERE autor=autores.id LIMIT 1 ) AS cuenta FROM autores WHERE pais="es"

De este modo tendría que pasar por cada autor y luego sumar.

Me pregunto si es posible hacerlo todo en una sola consulta, sin tener que hacer un while... pero no sé si es posible.

:D

¿No creo ser un obsesivo de optimizar no? :)... no se que me ocurre pero no entiendo como algunos foreros tienen facilidad para las consultas complejas. Con PHP, con C... no me pierdo... pero cuando me dices hacer una consulta en MySQL un poco compleja... es como una locura para mi.

:D

Última edición por gnzsoloyo; 10/11/2015 a las 18:11