我有一个名为edi_premise的表。我在同一个表中有四个名为customer_id,action_id,req_reason_code和trans_date的字段。
我想选择在re__reason_code字段中具有“ORV”的行之后的action_id字段中具有“673_03”的所有客户。
简而言之,日期(req_reason_code字段中的“ORV”)< date(action_id字段中的“673_03”)。
如何编写查询以选择这些行?
答案 0 :(得分:0)
一种非常简单的方法是使用条件聚合。有点难以分辨数据格式是什么,但有点像:
select customer_id
from edi_premise
group by customer_id
having max(case when action_id = '673_03' then dated end) >
min(case when req_reason_code = 'ORV' then dated end);