• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のテーブルから値を合計出力するSQLについて)

複数のテーブルから値を合計出力するSQL文

このQ&Aのポイント
  • 複数のテーブルから値を合計出力するためのSQL文をご教授いただけますか?
  • テーブル内の会員IDと日付が同じものの金額を合計して取得するSQL文を作成したいです。
  • 「会員ID」と「日付」が同じレコードの金額を合計して取得するためのSQL文をお願いします。

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

  • ベストアンサー
回答No.1

UNIONでt1,t2,t3でテーブルを1個に結合して Group ByすればOK? 「金額」が「0」または「null」の場合は「0」はNVLで対応 Select 会員ID, 日付, NVL(SUM(金額),0) AS 合計金額 From ( Select 会員ID, 日付, 金額 From t1 UNION ALL Select 会員ID, 日付, 金額 From t2 UNION ALL Select 会員ID, 日付, 金額 From t3 ) Group By 会員ID, 日付

jone
質問者

お礼

早々のご回答有難う御座います!! 試したところ、上手くいきました!!! SQLの知識(だけではないですが(汗))が乏しく、全く思いつきませんでした。 本当に有難う御座いました。

その他の回答 (2)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.3

mysql はインラインビューに明示的に別名をつけないといけないようですね。 SELECT t.会員ID, t.日付, SUM(t.金額) 合計金額 FROM ( SELECT 会員ID, 日付, 金額 FROM t1 UNION ALL SELECT 会員ID, 日付, 金額 FROM t2 UNION ALL SELECT 会員ID, 日付, 金額 FROM t3 ) t GROUP BY 会員ID, 日付;

jone
質問者

お礼

度々のご教授、有難う御座います!!! また、何かあれば投稿させていただきます。 ご面倒お掛けいたしました。

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

mysqlのバージョンにもよりますが SELECT 会員ID, 日付, SUM(金額) 合計金額 FROM ( SELECT 会員ID, 日付, 金額 FROM t1 UNION ALL SELECT 会員ID, 日付, 金額 FROM t2 UNION ALL SELECT 会員ID, 日付, 金額 FROM t3 ) GROUP BY 会員ID, 日付;

jone
質問者

お礼

早々のご教授、ご親切に有難う御座います!! nora1962のご回答も、参考にさせていただきます。