目标:我有一大堆的日期,我想按类别更新最小日期的记录:VBA迭代VS SQL速度在Access
JVID APDATE TAG into > JVID APDATE TAG
1 201501 Use 1 201501 Don't Use
1 201502 Use 1 201502 Use
1 201502 Use 1 201502 Use
1 201503 Use 1 201503 Use
2 201502 Use 2 201502 Don't Use
2 201503 Use 2 201503 Use
我使用的方法如下: 我创建了一个字典,其中Key = ID和Value = MinDateByID 然后我循环遍历键(对于字典中的每个键),并为每个检查更新使用/不使用的IIF语句的ID运行更新查询。与最短日期匹配的日期。
这是有效的,但有w + + 80k ID覆盖+ 1M记录它需要永远。
我正在考虑运行相同的东西,但倾销SQL,只是遍历记录,但我无法想象会更快?
我正在寻找SQL或VBA建议。
预先感谢您!
编辑 - 添加SQL从评论 UPDATE [FY16 Q12 BE] SET [FY16 Q12 BE].[Record Use] = IIF([FY16 Q12 BE].[Date] = "201601", "Use", "Don't Use") WHERE ([FY16 Q12 BE].[ID]="20165645699");
我期待通过每个字典键/值对恩(20165645699,201601) 创建和以各种形式运行此脚本80K +倍
这是SQL做得很好的事情,但我不太明白你想做什么。你想在每个ID的最早的日期有一个“使用”,或者什么? – grahamj42
@ grahmaj42是的,我想在最早的日期使用“Use”,有时最早的日期也会重复多次,所有这些项目都应该标记为使用。我认为这是一个相当清晰的SQL应用程序,但是我的脚本非常慢 - 几个小时,仍然没有完成。 – Schalton
你认为哪些SQL可以“永远占用”? – dbmitch