Oracle Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsDatabasesOracle Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old November 7th, 2003, 11:24 AM
DARKDEV DARKDEV is offline
Junior Member
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2003
Posts: 2 DARKDEV User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 0
Cool Duplicate Recs

I AM HAVING A TIME DISPLAYING ALL FIELDS OF RECORDS AFTER FINDING DUPLICATES. I THOUGHT SOMETHING LIKE THIS WOULD WORK BUT... NOT!

SELECT EMP_CODE, EMP_NAME, EMP_STATUS, COMPANY, OFFICE_CODE, OFFICE_TYPE
FROM TBEMP
WHERE SOCIAL_SEC_NUM IN (SELECT SOCIAL_SEC_NUM FROM TBEMP GROUP BY SOCIAL_SEC_NUM HAVING COUNT(SOCIAL_SEC_NUM) > 2);


ANY INPUT?

Reply With Quote
  #2  
Old November 7th, 2003, 12:05 PM
cconstantine's Avatar
cconstantine cconstantine is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2003
Posts: 60 cconstantine User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 18 m 25 sec
Reputation Power: 10
I believe you need an order by in your inner select... The GROUP BY will make your COUNT do what you want, but you have to ORDER the search results for GROUP BY.

Try adding "ORDER BY SOCIAL_SEC_NUM ASC". Test your inner query first and verify manully that a few of it's returnd SSN values really are dupes.

Then use your inner query with your outer query.

-c

Reply With Quote
  #3  
Old November 7th, 2003, 12:38 PM
shafique shafique is offline
Senior Member
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Sep 2003
Location: Canada
Posts: 305 shafique User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 2 h 45 m 20 sec
Reputation Power: 10
First: You cannnot use an ORDER BY clause in subquery defined in WHERE clause, but you do use ORDER BY clause in subquery defined in FROM clause.
Second: You should have been used count(social_sec_num)>1 in HAVING clause of your subquery to find the duplicate records, instead of using count(socila-sec_num)>2 ????

Reply With Quote
  #4  
Old November 7th, 2003, 09:28 PM
Dan Drillich Dan Drillich is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Sep 2003
Posts: 68 Dan Drillich User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 10
In the ideal case, you shouldn't have duplicates. Easier said than done, I guess, but all that it takes is having the proper primary key set up.

Assuming that per each distinct SOCIAL_SEC_NUM, the duplicate rows are identical, then the following should work:

SELECT
distinct SOCIAL_SEC_NUM, EMP_CODE, EMP_NAME, EMP_STATUS, COMPANY, OFFICE_CODE, OFFICE_TYPE
FROM
TBEMP


BTW, getting the duplicates is done via:

SELECT
SOCIAL_SEC_NUM, COUNT(SOCIAL_SEC_NUM)
FROM
TBEMP
GROUP BY
SOCIAL_SEC_NUM
HAVING
COUNT(SOCIAL_SEC_NUM) > 1);

Regards,
Dan

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesOracle Development > Duplicate Recs

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap