我有两个表,我想加入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 :(得分: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;