如何在表中查找仅以“返回”为原因的记录?
我有很多记录的表
根据表中的数据,它仅返回策略号为5555
的记录,因为只有该策略号才具有'Return'
;其他所有政策编号都同时包含'Return'
和'Success'
,而我不需要。
请帮助我。
答案 0 :(得分:1)
SELECT *
FROM YOURTABLE
WHERE REASON = 'RETURN'
AND POLICYNUMBER NOT IN (
SELECT POLICYNUMBER
FROM YOURTABLE
WHERE REASON = 'SUCCESS'
)
答案 1 :(得分:0)
我会使用not exists
:
select t.*
from mytable t
where not exists (
select 1
from mytable t1
where t1.policynumber = t.policynumber and t1.reason <> 'Return'
)
此查询将利用(policynumber, reason)
上的索引。