Hola! Tengo las siguientes tres tablas con información sobre publicaciones:
Cada una de estas tablas tiene un columna publicacion_id que es una clave hacia la tabla publicaciones. Lo que necesito es crear una vista que contenga el id de la publicación, la cantidad de visitas que tuvo esa publicación, la cantidad de comentarios y la cantidad de likes.. Intenté algo como esto:
select * from (
select id, count(id) as comentarios from publicaciones
left join comentarios on id = publicacion_id
group by id
UNION
select id, count(id) as visitas from publicaciones
left join visitas on id = publicacion_id
group by id
UNION
select id, count(id) as likes from publicaciones
left join likes on id = publicacion_id
group by id
) conteos group by conteos.id;
Pero esto no me funciona, me genera un resultado como el siguiente
id | comentarios |
---|---|
1 | 44 |
1 | 98 |
3 | 77 |
Y yo quiero algo como esto:
id | comentarios | likes | visitas |
---|---|---|---|
1 | 44 | 100 | 150 |
Saludos