rt
在做一个财务的系统,在总分类帐中,在数据库中是新建一个详细表好还是使用临时表获得数据好,我写了一个临时表获得数据if object_id('tempdb..#tb1') is not null
Begin
drop table #tb1
Endif object_id('tempdb..#tb2') is not null
Begin
drop table #tb2
End
select km_bh ,sum(fse) as 借方 into #tb1 from st_flz where jd='借' group by km_bhselect km_bh ,sum(fse) as 贷方 into #tb2 from st_flz where jd='贷' group by km_bhselect distinct tb_km.km_bh , #tb1.借方,#tb2.贷方 from tb_km left join #tb1 on tb_km.km_bh =#tb1.km_bh left join #tb2 on tb_km.km_bh =#tb2.km_bh但是我朋友说新建一个详细表好,说是获得数据方便快,因为是在表了直接select,所以应该比使用临时表快,请教一下大侠们到底哪种方法才是正确的。
在做一个财务的系统,在总分类帐中,在数据库中是新建一个详细表好还是使用临时表获得数据好,我写了一个临时表获得数据if object_id('tempdb..#tb1') is not null
Begin
drop table #tb1
Endif object_id('tempdb..#tb2') is not null
Begin
drop table #tb2
End
select km_bh ,sum(fse) as 借方 into #tb1 from st_flz where jd='借' group by km_bhselect km_bh ,sum(fse) as 贷方 into #tb2 from st_flz where jd='贷' group by km_bhselect distinct tb_km.km_bh , #tb1.借方,#tb2.贷方 from tb_km left join #tb1 on tb_km.km_bh =#tb1.km_bh left join #tb2 on tb_km.km_bh =#tb2.km_bh但是我朋友说新建一个详细表好,说是获得数据方便快,因为是在表了直接select,所以应该比使用临时表快,请教一下大侠们到底哪种方法才是正确的。
a.km_bh,
b.借方,
b.贷方
from
(select distinct km_bh from tb_km) a
left join
(select
km_bh,
sum(fse1) as 借方,
sum(fse2) as 贷方
from
(select km_bh,fse as fse1,0 as fse2 from st_flz where jd='借'
union all
select km_bh,0 as fse1,fse as fse2 from st_flz where jd='贷'
) t
group by
km_bh
) b
on
a.km_bh=b.km_bh