我有以下问题:我想用值更新Access表。如果多个条件为真,则应添加该值。
我尝试使用以下查询,它几乎可以工作,但似乎忽略了B列上的条件。例如,有三条记录。这三个在" a"中具有相同的价值。但其中只有两个在" b"中具有相同的值。仍然,查询写道" f"对于他们三个人。
UPDATE table1 SET a = "f"
WHERE a IN (SELECT a FROM table1 GROUP BY a, b HAVING COUNT(a) > 1)
AND b IN (SELECT b FROM table1 GROUP BY a, b HAVING COUNT(b) > 1) AND [c] <> " ";
它可能适用于VBA(循环使用所有内容),但我想避免这种情况。我真的想知道为什么它不起作用。
非常感谢!
答案 0 :(得分:0)
我认为你的group by
条件错了。根据您的描述:
UPDATE table1
SET a = "f"
WHERE a IN (SELECT a FROM table1 GROUP BY a HAVING COUNT(a) > 1) AND
b IN (SELECT b FROM table1 GROUP BY b HAVING COUNT(b) > 1) AND
c <> " ";