我有一张表tblRecords
,每天在这张表中插入 3500 条记录。 tblRecords
有一个外键链接到tblUpload
. 除了通用ID
列之外,每一行都由一个REF
(即:XYDG74G)和将其链接到的外键列(即:345)标识tblUpload
。
每天上传的大约 3500 行与前一天上传的行相同(有更新)以及过去 24 小时内的其他新条目。
每tblRecord
行可以标记(BIT 列)为MissCustName
和MissCustNameFixed
。我通过 来查看tblRecord
行tblUpload
,也就是说我“显示今天上传的所有 (3500+) 条记录”。我想连同实际的列tblRecord
一起看到两列,CountOfPrevMissCustName
并且CountOfPrevMissCustNameFixed
ID - Ref - CustName - CountofPrevMissCustName- CountofPrevMissCustNameOK
1 - AASD001 - <NULL> - 14 - 12
2 - ZRFG789 - Joe Bloggs - 10 - 8
3 - YERF777 - Mary Blyge - 0 - 0
Missing Customer Name 计算 Missing Customer Name 标记为 TRUE 的事务的总记录(历史)。`MissNameFixed 也是如此。
记录 1 之前有 14 个缺少客户名称标志和 12 个 MissNameCustNameOK 标志,但仍然缺少客户名称。
记录 2 之前有 10 个缺少客户名称标志和 8 个 MissNameCustNameOK 标志,并且当前有一个客户名称。
记录 3 从未有任何缺失的客户名称标志,因此没有 MissNameCustNameOK 标志,并且当前有一个名称。
实现这些“dcount”样式的列最有效(对 SQL Server 的压力最快且压力最小)是什么。在 Access 中尝试 dcount 列非常慢 9(见下文),就像在 Access 中使用 DAO 记录集一样。
SELECT *, dcount("RecordID","tblRecordsHistorical","Ref=" & Ref & " AND CustName is null) as CountofPrevMissCustName, dcount("RecordID","tblRecordsHistorical","Ref=" & Ref & " AND CustName is not null) as CountofPrevMissCustNameOK from tblRecords
理想情况下,我希望能够创建某种视图,我可以加载该视图,然后用于对表格进行批量更新。
我只会处理最新一批的 tblRecords,所以一旦 CountOf... 物理列更新了一次,它们就不需要再更新了。
谢谢