質問: 複数のテーブルの集計 あけましておめでとうございます。よろしくお願いします。例えばphpを利用して二つの店舗で好きなブランドのアンケートを取りそれぞれテーブルに格納するとします。 tenpoa_tbl id,bland tenpob_tbl id,bland2 count(bland)とcount(bland2)の合計値をポイントが高い順に(たとえば店舗aの順位が シャネル10 プラダ 6 グッチ 3 b店舗の順位が シャネル 8 ビトン 7 グッチ 2 合計がシャネル 18 ビトン 7 プラダ 6 グッチ 5 こんな感じで集計したいのですが分かる方いらしゃいますか?
回答: mysqlで質問するときはバージョン情報をかきましょう。 動作がバージョンによってぜんぜん異なります。 古いバージョンではサブクエリーやunionは使えません。 その場合はテンポラリテーブルなどをつかって1度データを 統合して集計するといいでしょう。 create temporary table tmp select bland from tenpoa_tbl; insert into tmp select bland2 as bland from tenpob_tbl; select bland,count(*) as sum from tmp group by bland order by sum desc; メモリに余裕があればheapで処理する方が高速だと思います。