• ベストアンサー

sql文

以下のテーブル テーブル名:t1(num1,kingaku) ,t2(num1,kingaku2) ここでt1.num1(1,2,3) ,t2.num1(3,4,5) とあった場合num1をキーとしてnum1(1,2,3,4,5)となるようなテーブルを作成したいのですが、 どのようなsqlでできるでしょうか? dbはoracle,posgre,mysqlなどでお願いします。

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

  • ベストアンサー
  • pcb39431
  • ベストアンサー率84% (16/19)
回答No.2

t1.num1=3 の kinagku と、t2.num1=3 の kinagku2 を足すとした場合 t1 と t2 を union で結合したものを作り、num1 でグループ化します。 SELECT num1,SUM(kingaku) AS kingaku FROM (SELECT num1,kingaku FROM t1 UNION ALL SELECT num1,kingaku2 AS kingaku FROM t2) GROUP BY num1 ORDER BY num1

その他の回答 (2)

  • crossgate
  • ベストアンサー率65% (78/119)
回答No.3

#2をレコード挿入するならこんな感じ。 INSERT INTO t3 (num1, kingaku3) SELECT num1, sum(kingaku) FROM (SELECT num1, kingaku FROM t1 UNION ALL SELECT num1, kingaku2 AS kingaku FROM t2) GROUP BY num1;

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

Oracleなら select num1 from t1 union select num1 from t2

関連するQ&A