2017-06-09 12 views
0

私は同じ列、異なる行数の2つのテーブルを持っています。私は別のエントリの一意の識別子としてclient_idとsegment_nameを使用してこれらのテーブルを1つにマージし、2つのテーブルが一致する場合はuser_countを合計する必要があります。どんな助けでも大歓迎です。Postgres - 合計で2つのテーブルをマージする

テーブル

client_id | segment_name | user_count 
------------------------------------- 
45845  | segment45877-58 | 2358 
55255  | weather558  | 20 
88890  | jobs-listing | 558 

表B

client_id | segment_name | user_count 
-------------------------------------- 
45845  | segment45877-58 | 100 
55255  | weather558  | 350 
2454  | leonardo-da-vinci | 5465 

表C(新しい)

client_id | segment_name  | user_count 
------------------------------------- 
45845  | segment45877-58 | 2458 
55255  | weather558  | 370 
88890  | jobs-listing  | 558 
2454  | leonardo-da-vinci | 5465 

答えて

1

あなたは

CREATE TABLE C AS 
     (SELECT client_id, 
       segment_name, 
       SUM(user_count) AS user_count 
     FROM (SELECT * FROM A UNION ALL 
       SELECT * FROM B) Data 
     GROUP BY client_id, segment_name); 
+0

感謝を試みることができます。私は私の答えを更新しました。 –

+0

は、魅力のように機能します。 – pavelpok

関連する問題