2017-04-12 19 views
0

同じデータ構造を持つビューが2つあります。 Numはint型です。私は同じIDを持つnumが一緒に加算したい。私は組合がこの種のマージをすることはできないと思う。誰もそれで私を助けることができますか?SQLで2ビューをマージする

View1を:

id | num | 
-------+-----+ 
    A | 4 | 
    B | 6 | 
    C | 7 | 

VIEW2:

id | num | 
-------+-----+ 
    A | 1 | 
    D | 2 | 
    C | 3 | 

予想ビュー:

id | num | 
-------+-----+ 
    A | 5 | 
    B | 2 | 
    C | 10 | 
    D | 2 | 

答えて

2
SELECT Z.id,SUM(Z.num) AS num 
    FROM 
(
SELECT * FROM View1 
UNION ALL 
SELECT * FROM View2 
) Z 
GROUP BY Z.id 
ORDER BY Z.id; 
+0

ん 'View1を UNION FROM( SELECT * ALL SELECT * F ROM View2 )Zは、View 1とView 2のすべてをZという名前のビューに結合することを意味します。 – SuperMurloc

+1

それはまったくSQLビューではありませんが、UNION ALLは 'n'テーブルまたはビューから同様の列を持つすべての行を取得します。この場合、インラインビューとして定義されます。あなたの仕事は必要なことを行うことができます。 – Teja

+0

Plsはそれに満足すれば答えを受け入れます。ありがとう。 – Teja

関連する問題