2014-11-04 48 views
0

我在下面附表總和加入

表A

------------------------------------ 
     date | cnt | click | point 
------------------------------------ 
2014-07-01 | 3 | 5 | 10 

2014-07-03 | 5 | 15 | 20 

2014-07-05 | 1 | 2 | 3 

表B

------------------------------------ 
     date | cnt | click | point 
------------------------------------ 
2014-07-02 | 3 | 5 | 10 

2014-07-03 | 3 | 5 | 20 

2014-07-06 | 1 | 2 | 3 

表C

------------------------------------ 
     date | cnt | click | point 
------------------------------------ 
2014-07-01 | 3 | 5 | 10 

2014-07-02 | 2 | 3 | 30 

2014-07-05 | 1 | 2 | 3 

結果

如所描述的以下一些DDATA表
------------------------------------ 
     date | cnt | click | point 
------------------------------------ 
2014-07-01 | 6 | 10 | 20 

2014-07-02 | 5 | 8  | 40 

2014-07-03 | 8 | 20 | 40 

2014-07-05 | 2 | 4 | 6 

2014-07-06 | 1 | 2 | 3 

以上加入結果,但不是所有聯合。 有什麼建議嗎?

+0

什麼是你的問題? – 2014-11-04 06:53:57

+0

不要使用union all查詢優化來獲得對另一個的建議。 – KMJ 2014-11-04 07:04:12

+0

您正在使用哪個[DBMS](https://en.wikipedia.org/wiki/Database)? Postgres的?甲骨文? DB2?火鳥? – 2017-07-08 09:21:31

回答

0

你可以union all所有三個表,總結的結果:

SELECT `date`, SUM(cnt), SUM(click), SUM(point) 
FROM  (SELECT `date`, cnt, click, point FROM a 
      UNION ALL 
      SELECT `date`, cnt, click, point FROM b 
      UNION ALL 
      SELECT `date`, cnt, click, point FROM c) t 
GROUP BY `date`