【发布时间】:2018-04-25 20:36:50
【问题描述】:
我有一张表,除了一个字段(例如 col4)外,所有字段都有重复记录。我只需要删除 t1.col4 字段为空白的重复条目。
ID Col1 Col2 Col3 Col4
1 Joe 1 2 Yes
2 Sue 1 2
3 Joe 2 3
4 Joe 1 2
目标:仅删除 ID 4
我已经尝试过内部连接(我认为 msaccess 不允许这样做)和存在错误的 WHERE EXISTS/IN 技术。
Exists 技术删除 t1.col4 为空的所有记录(不仅仅是子查询中匹配的记录):
DELETE t1.*
FROM t1
WHERE Exists (
SELECT t1.col1, t1.col2, t1.col3
FROM t1
Group by t1.col1, t1.col2, t1.col3
HAVING Count(*) > 1
)
AND t1.col4 Is Null;
我已经尝试过多次迭代 Inner Join 技术,但我在这里读到的所有内容都表明 Access 不支持它。如果有帮助,很高兴发布我尝试过的内容。我还尝试将子查询写入临时表,然后尝试删除与内部联接匹配的记录。
【问题讨论】:
-
添加一些输入数据(不是图像!)和预期结果。
标签: sql ms-access-2013