update b set b.户数 = aa.cnt
from b
join (select left(jsdm,2) as jsdm,count(*) as cnt from a group by left(jsdm,2)) aa
on aa.jsdm = b.fgdm
from b
join (select left(jsdm,2) as jsdm,count(*) as cnt from a group by left(jsdm,2)) aa
on aa.jsdm = b.fgdm
(select left(jsdm,2) as fgdm,count(*) as cnt) tmp where tmp.fgdm=b.fgdm)
set b.户数 =aa.hs
from b inner join (select left(jsdm,2) dm,count(*) hs
from (select distinct jsdm from a) tem group by left(jsdm,2)) aa
on aa.fgdm=b.fgdm
from b left join (select left(jsdm,2) dm,count(*) hs
from (select distinct jsdm from a) tem group by left(jsdm,2)) aa
on aa.fgdm=b.fgdm
update b set 户数=(select count(*) from #tmp where substring(jsdm,1,2)=b.b.fgdm)
drop table #tmp
go
(select left(jsdm,2) fgdm, sum(1) 户数 from
(select distinct jsdm, (case when ysxz = 'sh' then 'sc' else ysxz end) ysxz from tableA) A) B
where tableB.fgdm = B.fgdm
update b set 户数=(select sum(1) from a where jsdm like b.fgdm+'%')