UNION exige que todas las subquerys tengan elmismo numero de campos y en el mismo orden.
Código MySQL:
Ver original//Usando Sbc
(el resultado de
UNION ALL) como origen de datos
//Sumo el numero de votos de la primera subquery con cero de la segunda
//Sumo el numero de comentarios de la segunda subquery con cero de la primera
Sbc.contenido,
SUM(Sbc.votos_
) as NVotos
, SUM(Sbc.comentarios_
) as NComentarios
//Subquery donde se cuentan los votos
// Corrijo el error de las noticias con cero votos
// Por el
LEFT JOIN en el original les asignaba un voto
//Creo el campo comentarios a cero
n.contenido,
ON n.id_noticia
= v.id_noticia
//Subquery donde se cuentan los comentarios
// Corrijo el error de las noticias con cero comentarios
// Por el
LEFT JOIN en el original les asignaba un voto
//Creo el campo votos a cero
n1.contenido,
ON n1.id_noticia
= c.id_noticia
Código MySQL:
Ver original Sbc.contenido,
SUM(Sbc.votos_
) as NVotos
, SUM(Sbc.comentarios_
) as NComentarios
n.contenido,
ON n.id_noticia
= v.id_noticia
n1.contenido,
ON n1.id_noticia
= c.id_noticia