在MYSQL中加入汇总表

时间:2014-10-27 17:34:24

标签: mysql sql join

我有两个表,我想加入MYSQL,我正在寻找最优化的方法来做到这一点。这是问题所在:

我想根据每个表中的字段(称之为客户)计算记录数,然后将结果连接在一起(使用客户)以生成汇总表。请注意,即使一个表不包含客户,也必须返回所有客户

TABLE A 

Customer 
--------
1
1
4
4
5
6

TABLE B

Customer
--------
4
5
5
5
6
6
7
7
7

进入汇总表

SUMMARY

Customer  CountA CountB
-----------------------
1         2      0
4         2      1
5         1      3
6         1      2 
7         0      3 

关于如何做这样的事情的任何想法?

1 个答案:

答案 0 :(得分:2)

SELECT customer,SUM(source = 'a') cnta, SUM(source = 'b') cntb FROM
     (
       SELECT 'a' source,customer FROM customer_a
       UNION ALL
       SELECT 'b',customer FROM customer_b
     ) n
 GROUP  
    BY customer;