Sql 仅使用一个属性值筛选结果
我正试图筛选出帐户只有一个状态-3的客户。 我不需要具有3以外其他状态代码的结果客户 示例:此客户应不在范围内:Sql 仅使用一个属性值筛选结果,sql,oracle,Sql,Oracle,我正试图筛选出帐户只有一个状态-3的客户。 我不需要具有3以外其他状态代码的结果客户 示例:此客户应不在范围内: Customer Account_number Account_status a XX002 2 a XX001 2 a XX003 3 a XX005 4 a
Customer Account_number Account_status
a XX002 2
a XX001 2
a XX003 3
a XX005 4
a XX004 1
这应该是:
Customer Account_number Account_status
b XX007 3
b XX008 3
我试过了,没有试过,但找不到正确的方法。
我使用的是Oracle SQL developer,是否有用于此类筛选的功能
提前感谢,使用where子句:
select * from customers where Account_status = 3
尝试使用不存在的文件
尝试使用不存在的文件
从不存在的客户C中选择*
从客户D中选择1,其中C.customer=D.customer和账户状态3我将使用窗口功能:
select e.*
from (select e.*,
sum(case when account_status = 3 then 1 else 0 end) over (partition by customer) as cnt_3
from example e
) e
where cnt_3 <> 1;
这实际上给出了所有其他结果,我只需要Account_status=3
select e.*
from (select e.*,
sum(case when account_status = 3 then 1 else 0 end) over (partition by customer) as cnt_3
from example e
) e
where cnt_3 <> 1;
select e.*
from example e
where (select count(*)
from example e2
where e2.customer = e.customer and e2.status = 3
) <> 1;