OK、私の頭が痛い...!MySQL:これらのUNIONをまとめてSUMを探す
この美しい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)
は...かなりの数の3行を返します。
理想的には、私は3つの "twitfollow"の結果をすべて返すようにしたいと思います。
しかし、SUMを丸めると、「すべての派生テーブルには別のエイリアスが必要です」というエラーが表示されます。これを解決するにはかなり混乱します。
(もちろん、私はPHPで結果をまとめることができ、私はそれはMySQLサーバを使用してこれを行うには迅速だと仮定しています、私は右のだろう。?)
Aha。 "t1"はトリックをするようです。多くのありがとう、ダン。 (UNION ALL - はい、2つのクエリが返すものを調べる必要があります) – jamescridland
名前を使用しなくても、派生テーブルを名前から選択する必要があります。すべての 't1'はです。 –