--应该放在sql版 select 数据点,sum(数据1个数) as 数据1个数,sum(数据2个数) as 数据2个数 from ( select 数据点,count(*)as 数据1个数,0 as 数据2个数 from 源表一 group by 数据点 union select 数据点,0 as 数据1个数,count(*) as 数据2个数 from 源表二 group by 数据点 ) group by 数据点 order by 数据点;--做两次group by 就好了。试试看。
select distinct a.数据点 as 数据点 ,(select count(数据点) from 源表1 where 数据点=a.数据点) as 数据1个数,,(select count(数据点) from 源表2 where 数据点=a.数据点) as 数据2个数 from ((select distinct 数据点 from 源表1 ) union (select distinct 数据点 from 源表2)) as a
赞成: select 数据点,sum(数据1个数) as 数据1个数,sum(数据2个数) as 数据2个数 from ( select 数据点,count(*)as 数据1个数,0 as 数据2个数 from 源表一 group by 数据点 union select 数据点,0 as 数据1个数,count(*) as 数据2个数 from 源表二 group by 数据点 ) group by 数据点 order by 数据点;
select 数据点,sum(数据1个数) as 数据1个数,sum(数据2个数) as 数据2个数
from (
select 数据点,count(*)as 数据1个数,0 as 数据2个数 from 源表一 group by 数据点
union
select 数据点,0 as 数据1个数,count(*) as 数据2个数 from 源表二 group by 数据点 )
group by 数据点 order by 数据点;--做两次group by 就好了。试试看。
from ((select distinct 数据点 from 源表1 ) union (select distinct 数据点 from 源表2)) as a
select 数据点,sum(数据1个数) as 数据1个数,sum(数据2个数) as 数据2个数
from (
select 数据点,count(*)as 数据1个数,0 as 数据2个数 from 源表一 group by 数据点
union
select 数据点,0 as 数据1个数,count(*) as 数据2个数 from 源表二 group by 数据点 )
group by 数据点 order by 数据点;