0

我有一张表tblRecords,每天在这张表中插入 3500 条记录。 tblRecords有一个外键链接到tblUpload. 除了通用ID列之外,每一行都由一个REF(即:XYDG74G)和将其链接到的外键列(即:345)标识tblUpload

每天上传的大约 3500 行与前一天上传的行相同(有更新)以及过去 24 小时内的其他新条目。

tblRecord行可以标记(BIT 列)为MissCustNameMissCustNameFixed。我通过 来查看tblRecordtblUpload,也就是说我“显示今天上传的所有 (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. 记录 1 之前有 14 个缺少客户名称标志和 12 个 MissNameCustNameOK 标志,但仍然缺少客户名称。

  2. 记录 2 之前有 10 个缺少客户名称标志和 8 个 MissNameCustNameOK 标志,并且当前有一个客户名称。

  3. 记录 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... 物理列更新了一次,它们就不需要再更新了。

谢谢

4

0 回答 0