select * from ( select sessionid from a union select sessionid from b) c left join ( select sessionid,sum(if(bz='1',1,0)) as ac,sum(if(bz='2',1,0)) as bc from ( select '1' as bz,* from a union select '2',* from a) group by sessionid) d on c.sessionid=d.sessionid
select sessionid from a
union
select sessionid from b) c
left join
(
select sessionid,sum(if(bz='1',1,0)) as ac,sum(if(bz='2',1,0)) as bc from (
select '1' as bz,* from a
union
select '2',* from a) group by sessionid) d
on c.sessionid=d.sessionid
表名写错了