• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数テーブルの集計結果の問い合わせ)

複数テーブルの集計結果の問い合わせ

このQ&Aのポイント
  • 複数テーブルの集計結果を得るためのSQL文について説明します。
  • 注文テーブルと苦情テーブルを結合し、客テーブルとの関連を取ることで、注文数と苦情数を集計することができます。
  • LEFT JOINを使用して、客テーブルの全てのレコードを取得し、注文テーブルと苦情テーブルとの関連を取ります。その結果をグループ化し、COUNT関数を使用して注文数と苦情数を求めることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

MySQLのバージョンによるでしょうけど・・・ >そもそも一行のsql文で可能なのでしょうか? 古いバージョンでもできるようにするなら、分けたほうが楽かも。 つまり集計してからJOINする。 CREATE TEMPORARY TABLE `注文集計` SELECT `客`,COUNT(*) AS `注文数` FROM `注文table` GROUP BY `客`; CREATE TEMPORARY TABLE `苦情集計` SELECT `客`,COUNT(*) AS `苦情数` FROM `苦情table` GROUP BY `客`; SELECT `id`,`氏名`,`注文数`,`苦情数` FROM `客table` LEFT JOIN `注文集計` ON `id`=`注文集計`.`客` LEFT JOIN `苦情集計` ON `id`=`苦情集計`.`客`;

jole2005
質問者

お礼

なるほど、そういう方法も考えられますね。 ありがとうございます。

関連するQ&A