Solved

Select and Display Duplicate Records

Posted on 2008-09-30
7
308 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
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Getting same value for every field in SQL 2 44
SQL Pivot Rows To Columns 10 53
sql server concatenate fields 10 31
SQL Query assistance 16 21
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…
Composite queries are used to retrieve the results from joining multiple queries after applying any filters. UNION, INTERSECT, MINUS, and UNION ALL are some of the operators used to get certain desired results.​
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

786 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