首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除MS Access中带有GROUP BY子句的SELECT查询的反面

删除MS Access中带有GROUP BY子句的SELECT查询的反面
EN

Stack Overflow用户
提问于 2017-11-09 07:23:52
回答 1查看 40关注 0票数 0

我在MS Access中有一个冗长的SELECT查询。基本上,我想从表中删除未被查询选中的所有内容。谢谢!

代码语言:javascript
复制
    SELECT [Benefit Refused Cancellation Report].BENEFIT_PERIOD, 
        [Benefit Refused Cancellation Report].BENEFIT_TYPE, 
        [Benefit Refused Cancellation Report].CARRIER_NAME, 
        [Benefit Refused Cancellation Report].PLAN_NAME, 
        [Benefit Refused Cancellation Report].PERSON_TYPE, 
        [Benefit Refused Cancellation Report].LAST_NAME, 
        [Benefit Refused Cancellation Report].FIRST_NAME, 
        [Benefit Refused Cancellation Report].MIDDLE_NAME, 
        [Benefit Refused Cancellation Report].SUFFIX, 
        [Benefit Refused Cancellation Report].GENDER, 
        [Benefit Refused Cancellation Report].DATE_OF_BIRTH, 
        [Benefit Refused Cancellation Report].DATE_OF_HIRE, 
        [Benefit Refused Cancellation Report].EFFECTIVE_DATE, 
        Max([Benefit Refused Cancellation Report].END_DATE) AS MaxOfEND_DATE, 
        [Benefit Refused Cancellation Report].SSN

FROM [Benefit Refused Cancellation Report]

GROUP BY [Benefit Refused Cancellation Report].BENEFIT_PERIOD, 
        [Benefit Refused Cancellation Report].BENEFIT_TYPE, 
        [Benefit Refused Cancellation Report].CARRIER_NAME, 
        [Benefit Refused Cancellation Report].PLAN_NAME, 
        [Benefit Refused Cancellation Report].PERSON_TYPE, 
        [Benefit Refused Cancellation Report].LAST_NAME, 
        [Benefit Refused Cancellation Report].FIRST_NAME, 
        [Benefit Refused Cancellation Report].MIDDLE_NAME, 
        [Benefit Refused Cancellation Report].SUFFIX, 
        [Benefit Refused Cancellation Report].GENDER, 
        [Benefit Refused Cancellation Report].DATE_OF_BIRTH, 
        [Benefit Refused Cancellation Report].DATE_OF_HIRE, 
        [Benefit Refused Cancellation Report].EFFECTIVE_DATE, 
        [Benefit Refused Cancellation Report].SSN;
EN

回答 1

Stack Overflow用户

发布于 2017-11-09 07:40:34

您可以使用相关子查询来完成此操作:

代码语言:javascript
复制
delete from [Benefit Refused Cancellation Report]
    where END_DATE < (select max(brdr2.End_Date)
                      from [Benefit Refused Cancellation Report] as brcr2
                      where brcr2.SSN = [Benefit Refused Cancellation Report].SSN
                     );

这假设SSN唯一地定义了您想要的每一行。要真正匹配GROUP BY,您需要包含更多的字段--甚至所有字段。

需要注意的是:这没有考虑到NULL的值,所以用于匹配的键应该是非NULL的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47191424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档