首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >筛选出包含一个特定条件的唯一列表

问筛选出包含一个特定条件的唯一列表
EN

Stack Overflow用户
提问于 2012-07-03 13:47:34
回答 4查看 100关注 0票数 0

我有一个名为“域”的表。列A(域名)包含各种域名的列表。列B(状态)包含它的“状态”。状态可以是活动、已结束、已阻止或已取消。一个域名可以在A列中多次列出,且不限于只有一种状态。请注意,如果某个域多次在A列中列出,并且它的每个实例的状态都为“已取消”,则该域的所有实例都应出现在结果中。

我想拉出一个列表的所有域名的‘唯一’的状态已取消。他们不能有取消的状态,也不能有其他类型的状态。在下面的示例中,它应该只返回domain5.com。

域名

Domain1.com

Domain2.com

Domain1.com

Domain4.com

Domain5.com

状态

活动的

结束

已取消

已阻止

已取消

非常感谢!

EN

回答 4

Stack Overflow用户

发布于 2012-07-03 13:53:02

代码语言:javascript
复制
SELECT DISTINCT  domainname FROM DomainsTable
WHERE 
Status = 'Canceled'
票数 0
EN

Stack Overflow用户

发布于 2012-07-03 13:54:09

您可以使用not exists子句来要求同一域没有处于另一状态的行:

代码语言:javascript
复制
select  *
from    Domains d1
where   status = 'cancelled'
        and not exists
        (
        select  *
        from    Domains d2
        where   d1.domainname = d2.domainname
                and d2.status <> 'cancelled'
        )
票数 0
EN

Stack Overflow用户

发布于 2012-07-03 14:03:26

尝试使用以下sql查询:

代码语言:javascript
复制
select Domainnames  from Domains 
            where Status ='cancelled' AND
            Domainnames  NOT IN (SELECT Domainnames  from Domains where Status <> 'cancelled')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11305154

复制
相关文章

相似问题

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