Manipulating Duplicate Records

 1 Replies
 0 Subscribed to this topic
 17 Subscribed to this forum
Sort:
Author
Messages
maalimsimo
Veteran Member Send Private Message
Posts: 49
Veteran Member
I have a need to identify duplicate Employee records in a temp file, based on USERID. Then I need to look at the duplicate record sets and look at the Emp Status: 1. If both (or all) records are INACTIVE, I do not need to report on them (i.e ignore them). 2, If a set (of duplicate records) has just one ACTIVE record, ignore the whole set. 3. If both (or all) records are ACTIVE, then report on them. Example set: {userid}              {Employee}                  {Status}                      {Action} {ABCD}                {1234}                         {INACTIVE} {ABCD}                {4567)                         {INACTIVE}                  {Ignore the pair} {EFGH}                 {9876}                         {ACTIVE} {EFGH}                 {5432}                         {INACTIVE}                 {Ignore the pair} {IJKL}                   {8315}                          {ACTIVE} {IJKL)                   (5138}                          {ACTIVE}                     {Report on them} I will appreciate any suggestions as to how to code this in SQL (Oracle). Thanks. Maalim    
Derek Czarny
Veteran Member Send Private Message
Posts: 63
Veteran Member

Maybe try something like

select * from temptable t

where userid in (

select userid from temptable

 

 

where status = 'ACTIVE'

Group by userid

having count(*)>1)