2014-10-27 65 views
-3

我有两个表,我想加入MYSQL,我正在寻找最优化的方式来做到这一点。问题如下:在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 

如何像做任何想法这个?

+0

请用您试过的查询更新您的问题,以便我们可以帮助您确定问题所在。 – Kermit 2014-10-27 17:39:01

+0

我还没有查询这个..因此,我为什么要求帮助 – 2014-10-27 17:47:01

+1

请阅读[如何问](http://stackoverflow.com/help/how-to-ask)常见问题。你必须实际证明一些努力。 – Kermit 2014-10-27 17:53:15

回答

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; 
+0

就像一个魅力..完全忘了我可以在这里使用工会! – 2014-10-27 17:56:06