访问更新查询多列中的唯一条件
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;
我有一个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;