Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2012, 09:29
Avatar de Heent
Heent
 
Fecha de Ingreso: diciembre-2008
Mensajes: 140
Antigüedad: 15 años, 11 meses
Puntos: 6
Pregunta Consulta multi tabla y count()

Buenos días compañeros, tengo un problema con una consulta multitabla que utiliza la función COUNT().

Os cuento un poco mi estructura de datos:

Tengo una tabla que se llama 'pueblo' con los siguientes campos:
-nombre
-abreviatura

Otra tabla se llama 'amigos' y algunos de sus campos son (los que uso en el código este):
-pueblo
-nombre

Y tengo otra tabla que se llama 'fotos' y sus campos más importantes son:
-pueblo
-id

Los campos llamados "pueblo" de amigos y fotos contienen la abreviatura del pueblo de donde son. Por ejemplo podemos tener esto:

Pueblo : nombre=Barcelona, abreviatura=BCN
Amigos : nombre=Pepito, pueblo=BCN
Fotos: id=009, pueblo=BCN


Entonces yo lo que quiero hacer es recuperar, con una sola consulta en base de datos, a partir de la abreviatura del pueblo el nombre completo del pueblo así como también el total de amigos y de fotos de ese pueblo.

No hay forma que me de el resultado correcto de amigos ni fotos.

Mi consulta es:
Código MySQL:
Ver original
  1. SELECT pueblo.nombre AS pNombre, pueblo.abreviatura AS pAbrev, COUNT(amigos.nombre) AS aTotal,
  2. COUNT(fotos.id) AS fotoTotal FROM pueblo, amigos, fotos WHERE pueblo.abreviatura='BCN'
  3. AND amigos.pueblo='BCN' AND fotos.pueblo='BCN';

Lo he probado con la cláusula GROUP BY amigos.pueblo, fotos.pueblo pero tampoco.


Un saludo y muchas gracias!