【问题标题】:Separate table sum join单独的表和连接
【发布时间】:2014-11-04 06:49:25
【问题描述】:

我有以下表格,其中包含如下所述的一些 ddata

表 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 

结果

------------------------------------ 
      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 

以上加入结果但不是全部联合。 请问有什么建议吗?

【问题讨论】:

  • 你的问题是什么?
  • 不要使用联合所有查询优化来获取其他人的建议。
  • 您使用的是哪个DBMS?后格雷斯?甲骨文? DB2?火鸟?

标签: sql database join sum union


【解决方案1】:

你可以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`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-08
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    相关资源
    最近更新 更多