OK, me duele la cabeza ...!MySQL: buscando SUMAR estos UNION juntos
Esta hermosa consulta MySQL:
(SELECT mtwitterfollowers AS twitfollow FROM `media` WHERE media.id=1)
UNION
(SELECT SUM(twitterfollowers) AS twitfollow FROM people LEFT JOIN peoplejoin ON peoplejoin.people_id = people.id LEFT JOIN positions ON position_id = positions.id WHERE peoplejoin.media_id = 1)
UNION
(SELECT SUM(twitterfollowers) AS twitfollow FROM people LEFT JOIN peoplejoin ON peoplejoin.people_id = people.id LEFT JOIN networkjoin ON networkjoin.network_id = peoplejoin.network_id LEFT JOIN positions ON position_id = positions.id WHERE networkjoin.media_id = 1)
... devuelve tres filas de números bonitos.
Idealmente, me gustaría que esta consulta devuelva los tres resultados "twitfollow", SUMAR juntos.
Sin embargo, poniendo una ronda SUM me da un error acerca de "cada tabla derivada debe tener su propio alias", y estoy un poco confundido en cuanto a cómo resolverlo.
(Por supuesto, tan sólo pudiera resumir los resultados en PHP, pero estoy asumiendo que es más rápido para hacer esto utilizando el servidor MySQL ¿Sería correcto.?)
Aha. El "t1" parece hacer el truco. Muchas gracias, Dan. (The UNION ALL - sí, necesito ver qué devuelven las dos consultas.) – jamescridland
Sí, tienes que dar la tabla derivada que estás seleccionando de un nombre, incluso si no usas el nombre ... eso es todo el 't1' es. –