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 originalSELECT pueblo.nombre
AS pNombre
, pueblo.abreviatura
AS pAbrev
, COUNT(amigos.nombre
) AS aTotal
, COUNT(fotos.id
) AS fotoTotal
FROM pueblo
, amigos
, fotos
WHERE pueblo.abreviatura
='BCN' 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!