返回

vba-MS Access SQL-根据重复的列值和额外条件创建“标志”列

发布时间:2022-04-27 21:45:30 239

这是我的原始表格:

Name    Age Group
Paul    20  1
Paul    20  2
Paul    30  3
Paul    30  3
Paul        2
Paul        2
Joe     15  1
Mary    20  3

如何编写MS Access SQL以根据以下条件排除记录?

理想情况下,我希望创建一个额外的“Flag”列来填充要排除的记录的值“True”,因为我以后可能会有进一步的排除条件。

  1. 在具有相同“名称”的记录中:

    (1) 他们的“组”是1或2

    (2) 他们的“年龄”是相同的,但不是空白的

  2. 对于具有唯一“名称”的记录,请保持原样

在这种情况下,只排除第一条和第二条记录。

更新:

@xQbert,非常感谢!

为了更简单,我想先为重复的“Paul”列设置标志,但代码返回一个错误:

UPDATE A
SET A.Flag = "True"
FROM
(
SELECT Name
FROM tblTest
GROUP BY Name
HAVING COUNT(*) > 1
    ) T INNER JOIN tblTest A ON T.Name = A.Name

但这很管用。

SELECT A.Name, A.Age, A.Group
FROM
    (
    SELECT Name
    FROM tblTest
    GROUP BY Name
    HAVING COUNT(*) > 1
    ) T INNER JOIN tblTest A ON T.Name = A.Name

非常感谢你。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像