-----
if not object_id('#temp') is null
drop table #temp
if not object_id('#TypeRelation') is null
drop table #TypeRelation
-----
create table #temp(id int,EntID int,PerID int,jobID int)
insert into #temp
select 1 ,5 ,21 ,13
union all select 1,10,25,4
union all select 5,5,61,13
union all select 5,5,61,13
create table #TypeRelation(jobID int,TypeID int)
insert into #TypeRelation
select 10 ,12
union all select 15,10
union all select 5,20
union all select 13,20
union all select 5,45
select tab.TypeID,count(*) as 统计数
from ( select * from #TypeRelation where jobid in (select jobID from #temp where EntID=5)) tab
group by tab.TypeID
select tab1.TypeID,count(*) as 统计数
from (select TypeID from #TypeRelation b inner join
(select jobID from #temp where EntID=5) a on b.jobID=a.jobID) tab1
group by tab1.TypeID
drop table #temp
drop table #TypeRelation