dポイントプレゼントキャンペーン実施中!

以下のテーブル

テーブル名: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などでお願いします。

A 回答 (3件)

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
    • good
    • 0

#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;
    • good
    • 0

Oracleなら


select num1 from t1
union
select num1 from t2
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す