7

A と B の 2 つのテーブルがあります。A には id と amount の 2 つの列があります。B にも、id、amount の 2 つの列があります。A と B を組み合わせて、同じ 2 つの列 (id、amount) を持つ新しいテーブル C を作成したいと考えています。SQLを使用してどのように行うことができますか? 例えば:

A
    ('A1',1)
    ('A2',5)
    ('A3',2)
    ('A4',5)
    ('A5',2)
    ('A6',7)
B
    ('A1',3)
    ('A3',2)
    ('A4',7)
    ('A5',4)
    ('A8',2)
    ('A9',10)

したがって、C は次のようになります。

C
    ('A1',4)
    ('A2',5)
    ('A3',4)
    ('A4',12)
    ('A5',6)
    ('A6',7)
    ('A8',2)
    ('A9',10)

ありがとうございました!

4

2 に答える 2

10
SELECT  ID, SUM(Amount) total
FROM
        (
            SELECT ID, Amount FROM A
            UNION ALL
            SELECT ID, AMount FROM B
        ) s
GROUP   BY ID

クエリの結果に基づいてテーブルを作成できます。

CREATE TABLE C
AS
SELECT  ID, SUM(Amount) total
FROM
        (
            SELECT ID, Amount FROM A
            UNION ALL
            SELECT ID, AMount FROM B
        ) s
GROUP   BY ID;
于 2013-02-23T09:14:30.200 に答える
-1

上記の答えは絶対にうまくいきます。ID でソートする order by 句を追加するだけです。

SELECT  ID, SUM(Amount) as total
FROM
        (
            SELECT ID, Amount FROM A
            UNION ALL
            SELECT ID, AMount FROM B
        ) s
GROUP by ID
order by ID 
于 2013-07-31T15:42:55.503 に答える