Solved

Select and Display Duplicate Records

Posted on 2008-09-30
7
290 Views
Last Modified: 2012-05-05
I need to select and display using SQL duplicate records from the following table

bomparent  bompos
12                 1
12                  2
13                 1
13                  2
12                  1
12                  2
13                 3

I need to return
12       1
12       2
12       1
12        2

from the above table.

Thanks
0
Comment
Question by:RickCooper
  • 4
  • 3
7 Comments
 
LVL 39

Expert Comment

by:BrandonGalderisi
ID: 22605688
The first query will only what is duplicated, not every duplicate record
12    1
12    2


the second query will return all items that have duplicates
12    1
12    2
12    1
12    2


select bomparent,bompos

from YourTable

group by bomparent,bompos

having count(*)>1
 
 

GO
 

select a.* from YourTable

join 

(select bomparent,bompos

from YourTable

group by bomparent,bompos

having count(*)>1) b

on a.bomparent = b.bomparent

and a.bompos = b.bompos

Open in new window

0
 
LVL 1

Author Comment

by:RickCooper
ID: 22605758
Hi BrandonGalderisi
The second query is what is required as I need to delete the duplicates. However it fails with The column prefix 'a' does not match with a table name or alias name used in the query.

0
 
LVL 39

Accepted Solution

by:
BrandonGalderisi earned 500 total points
ID: 22606051
oops...

forgot the alias after "YourTable" which you obviously need to replace with your actual table name.
select a.* from YourTable a

join 

(select bomparent,bompos

from YourTable

group by bomparent,bompos

having count(*)>1) b

on a.bomparent = b.bomparent

and a.bompos = b.bompos

Open in new window

0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 1

Author Closing Comment

by:RickCooper
ID: 31501550
Spot on. Thanks very much.
I now have over 17000 records to delete.
0
 
LVL 39

Expert Comment

by:BrandonGalderisi
ID: 22606450
So you are deleting one of the two I assume.  And you're not on SQL 2000 by chance are you?
0
 
LVL 39

Expert Comment

by:BrandonGalderisi
ID: 22606456
Sorry....

And you're not on SQL "2005" by chance are you?
0
 
LVL 1

Author Comment

by:RickCooper
ID: 22606545
I'm deleting one of the two and I'm on SQL2000
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

If you find yourself in this situation “I have used SELECT DISTINCT but I’m getting duplicates” then I'm sorry to say you are using the wrong SQL technique as it only does one thing which is: produces whole rows that are unique. If the results you a…
PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now