我有一些销售数据,显示是否已为客户生成账单。如果已生成帐单,则标为bill_generated的列将返回“ Y”,否则返回空白。我正在尝试查找已为其生成至少一张账单的客户列表。每个cust_id可能有多行,如下所示:
cust_id, bill_generated
001,NULL
001,Y
002,NULL
002,NULL
003,Y
任何人都可以对此提出建议。我正在使用Redshift DB。谢谢。
答案 0 :(得分:2)
尝试使用分组依据并有条理
select cust_id from tablename
group by cust_id
having sum(case when bill_generated is null then 0 else 1 end)=1
答案 1 :(得分:1)
您可以使用相关的子查询
select * from t
where exists (select 1 from t t1
where t1.bill_generated='Y' and t1.cust_id=t.cust_id
)