2017-08-30 13 views
0

次の2つの表を使用しています。1つの列に基づいて表を集計し、別の表と結合する

表1

Key   |Clicks |Impressions 
-------------+-------+----------- 
USA-SIM-CARDS|55667 |544343  
DE-SIM-CARDS |4563 |234829  
AU-SIM-CARDS |3213 |232242  
UK-SIM-CARDS |3213 |1333223  
CA-SIM-CARDS |4321 |8883111  
MX-SIM-CARDS |3193 |3291023  

表2

 Key   |Conversions |Final Conversions|Active Sims 
-----------------+------------+-----------------+----------- 
USA-SIM-CARDS |456   |43    |4 
USA-SIM-CARDS |65   |2    |1 
UK-SIM-CARDS  |123   |4    |3 
UK-SIM-CARDS  |145   |34    |5 

目標は、次のような出力を得ることです。

Key   |Clicks |Impressions|Conversions|Final Conversions|Active Sims 
-------------+-------+-----------+-----------+-----------------+----------- 
USA-SIM-CARDS|55667 |544343  |521  |45    |5 
DE-SIM-CARDS |4563 |234829  |   |     | 
AU-SIM-CARDS |3213 |232242  |   |     | 
UK-SIM-CARDS |3213 |1333223 |268  |38    |8 
CA-SIM-CARDS |4321 |8883111 |   |     | 
MX-SIM-CARDS |3193 |3291023 |   |     | 

この機能の最も重要な部分は、私は、私は内部結合でこれを実行する想像変換

に基づいて第2のテーブルを集約することを含みます。

ありがとうございます。

答えて

1

その後、二段階でこれを持っ:

1)は、第2のテーブルを集計:

SELECT Key, sum(Conversions) as Conversions, sum("Final Conversions") as FinalConversions, Sum("Active Sims") as ActiveSims FROM Table2 GROUP BY key 

2)はあなたの最初のテーブルに参加サブクエリ/派生テーブルとしてこと使用します。

SELECT 
    t1.key, 
    t1.clicks, 
    t1.impressions, 
    t2.conversions, 
    t2.finalConversions, 
    t2.ActiveSims 
From Table1 t1 
    LEFT OUTER JOIN (SELECT Key, sum(Conversions) as Conversions, sum("Final Conversions") as FinalConversions, Sum("Active Sims") as ActiveSims FROM Table2 GROUP BY 2) t2 
     ON t1.key = t2.key; 

2回または何でも集計する必要がないため、参加してグループ化することもできます。

SELECT 
    t1.key, 
    t1.clicks, 
    t1.impressions, 
    sum(Conversions) as Conversions, 
    sum("Final Conversions") as FinalConversions, 
    Sum("Active Sims") as ActiveSims 
From Table1 t1 
    LEFT OUTER JOIN table2 t2 
     ON t1.key = t2.key 
GROUP BY t1.key, t1.clicks, t1.impressions 

ここで唯一の重要なことは、Table1のすべてのレコードと、Table2のすべてのレコードがキーに一致するようにするためにLEFT OUTER JOINを使用していることです。

+0

よろしくお願い致します。 –

関連する問題