访问更新查询多列中的唯一条件

Access Update Query Unique Criteria in multiple column

我有一个table这样的(Access Version 2013)

Block   SAP SAG BAP BAG 
600400  1   3        
600401          1   3 
600402              
600403  1   3   2   4 
600404          1   3 
600405          3   4 
600406  1   4        
600407  1   2   1   3
600408  4   5        
600409  1   1   3   1
600410  1   5   1   3

我想像下面这样更新 table,基本上我想清空 (SAP & SAG = NULL) if (SAP = 1 AND SAG = 3),这个我可以轻松实现,问题是我想对 (BAP & BAG = NULL) if (BAP = 1 AND BAG = 3) 做同样的事情而不影响 SAP 和 SAG,我尝试了各种方法,但结果不正常

Block   SAP SAG BAP BAG 
600400            
600401              
600402              
600403          2   4 
600404              
600405          3   4 
600406  1   4        
600407  1   2      
600408  4   5        
600409  1   1   3   1
600410  1   5     

是否可以通过单个查询来实现(或者)我需要使用两个不同的更新查询?有什么建议吗?

您需要两个查询,因为它们影响不同(但重叠)的行集。

它也简单易读。为什么您不想使用两个查询?

UPDATE foo 
SET SAP = NULL, SAG = NULL
WHERE SAP = 1 AND SAG = 3;

UPDATE foo 
SET BAP = NULL, BAG = NULL
WHERE BAP = 1 AND BAG = 3;

如果您不需要修改第一个 table,那么使用访问函数 NOT select 您不需要的项目就简单多了。

SELECT Iif(Sap<>"1" AND Sag<>"3"; Sap, "") AS SAP, Iif(Sap<>"1" AND Sag<>"3";凹陷,“”)作为凹陷,Iif(Bap<>“1”AND Bag<>“3”;Bap,“”)作为 BAP,Iif(Bap<>“1”AND Bag<>“3”;袋子, "") 来自 Table;