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

マスターテーブルの複数テーブル結合方法

このQ&Aのポイント
  • マスターテーブルと子テーブルを結合するためのSQLを作成する方法をご説明します。
  • マスターテーブルのIDと子テーブルのIDを比較し、一致する場合にカウントする方法について解説します。
  • Aテーブルにデータが存在しなくても、Bテーブル以降のテーブルにデータが存在すれば正しい結果を得られるコードを作成する方法を説明します。

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

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

仕様がよくわかりませんね。 a,b,cにはそれぞれmのidが振られるとして、aのテーブルにmのidはダブりがあるのか? aとbの両方に同じm.idがある場合、aだけ数えればいいのか、aとbの両方いるのか? ざっくりこんな感じ? select m.id,sum(count) as count from master as m left join ( select id,count(id) as count from a group by id union all select id,count(id) as count from b group by id union all select id,count(id) as count from c group by id ) as sub on m.id=sub.id group by m.id

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

inner joinではダメでしょ。 試験してませんが、left joinに変更してみてください。 select count(m.id) from master m left join a on m.id = a.m_id left join b on m.id = b.m_id left join c on m.id = c.m_id group by m.id

関連するQ&A