INSERT INTO [D:\保险收费\sybx.mdb].[报表打印] SELECT '2002' AS 年度, (select 余额 from 缴纳余额 where 年度='2002' and 缴纳余额.微机编码=单位信息表.微机编码) as 缴纳余额, (select sum(实际缴纳金额) from 收缴日志 where 年度='2002' and 收缴日志.微机编码=单位信息表.微机编码 group by 收缴日志.微机编码 as 本年实收from [D:\失业保险收费系统\sybx.mdb].[单位信息表] where 停止缴纳>-1 or (停止缴纳 = -1 and year(停止缴纳时间)= '2002')再update 报表打印 isnull=0 效率要高得多
你可以先建立视图(或临时表)(select 余额 from 缴纳余额where 年度='2002' and 缴纳余额.微机编码=单位信息表.微机编码) 和视图select sum(实际缴纳金额)from=收缴日志where 年度='2002' and 收缴日志.微机编码=单位信息表.微机编码 group by 收缴日志.微机编码,然后再进行主查询操作,从理论上判断,你的语句需要执行5000^2级别的循环,如果你用以上方法的话,理论上你的语句需要执行5*5000词循环,比原来少一个数量级,应该会快很多。
SELECT '2002' AS 年度,
(select 余额
from 缴纳余额
where 年度='2002' and 缴纳余额.微机编码=单位信息表.微机编码)
as 缴纳余额, (select sum(实际缴纳金额)
from 收缴日志
where 年度='2002' and 收缴日志.微机编码=单位信息表.微机编码
group by 收缴日志.微机编码
as 本年实收from [D:\失业保险收费系统\sybx.mdb].[单位信息表]
where 停止缴纳>-1 or (停止缴纳 = -1 and year(停止缴纳时间)= '2002')再update 报表打印 isnull=0 效率要高得多
原来打算先用insert 插入单位基本信息 其他部分内容用update 方法。
但是update在access中 并不支持 from 项 所以 类似于sum()之类的统计值 不能被update到先前用insert创建的数据库中?我该怎么办 昨天晚上 当新年钟声敲响的时候 我就一直在焦急地等待....现在我仍然很焦急
数据驱动 jet 4.0
请大家关注