首先准备四张表a、b、c、d,
--------------------------------     
a      | b  | c   | d     
a   b   |   a   c   |   a   d   |   d   e     
1   1   |   1   1   |   1   a   |   a   1     
2   2   |   1   3   |   2   b   |   b   2     
3   4   |   1   4   |   3   c   |   c   3     
4   6   |   2   1   |   4   d   |   d   4     
--------------------------------
下面我们需要用一条sql语句将a表所有的列,b表对与a表a字段相关联的列求count,通过c表,将d表与a表关联起来,得到的结果如下:
1   1   3   1     
2   2   1   2     
3   4   0   3     
4   6   0   4
mysql语句解决:
select a.a,a.b,ifnull(c,0) as c,d.a 
from (select 1 as a,2 as b union all
select 2 as a,2 as b union all
select 3 as a,4 as b union all
select 4 as a,6 as b) as a 
left outer join     
(select a,count(a) as c from(
select 1 as a,3 as c union all
select 1 as a,3 as c union all
select 1 as a,3 as c union all
select 2 as a,3 as c ) b group by a) as b
on a.a=b.a 
join 
(select 1 as a,'a' as d union all
select 2 as a,'b' as d union all
select 3 as a,'c' as d union all
select 4 as a,'d' as d ) as c 
on a.a=c.a 
join(select 1 as a,'a' as d union all
select 2 as a,'b' as d union all
select 3 as a,'c' as d union all
select 4 as a,'d' as d ) as d
on d.d=c.d
   
 
   