我正在尝试根据事务ID和更新类型从表中获取记录。如果我的交易ID的更新类型为'U',则获取记录,否则,如果交易的更新类型为'N',则不存在'U'
例如:
Transaction_ID Update_Type
1234 N
1234 U
5678 N
8756 N
预期产量
Transaction_ID Update_Type
1234 U
5678 N
8756 N
答案 0 :(得分:0)
这是使用not exists
的一种方法:
select t.*
from t
where t.update_type = 'U' or
not exists (select 1
from t t2
where t2.Transaction_ID = t.Transaction_ID and
t2.update_type = 'U'
);
或者,您可以使用聚合:
select Transaction_ID, max(update_type)
from t
group by Transaction_ID;