我有一个名为 Table1 的表,如下所示:
ID AccountNo Trn_cd
1 123456 P
2 123456 R
3 123456 P
4 12345 P
5 111 R
6 111 R
7 5625 P
我想显示那些 accountNo 出现多次(重复)并且 trn_cd 至少同时具有 P 和 R 的记录。
在这种情况下,输出应该是这样的:
ID AccountNo Trn_cd
1 123456 P
2 123456 R
3 123456 P
我已经完成了这个 sql 但不是我想要的结果:
select * from Table1
where AccountNo IN
(select accountno from table1
where trn_cd = 'P' or trn_cd = 'R'
group by AccountNo having count(*) > 1)
结果如下,其中 AccountNo 111 不应该出现,因为 111 没有 trn_cd P:
ID AccountNo Trn_cd
1 123456 P
2 123456 R
3 123456 P
5 111 R
6 111 R
任何的想法?