• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 314
  • Last Modified:

Need help with special Find Duplicates Access Query

In a table (PRODDTA_F30026) I have two (2) fileds:
IEITM  - Short Item Number
IELITM - Long Item Number

I have discovered that, for some IELITM - Long Item Numbers there are multiple IEITM  - Short Item Numbers.

EXAMPLE:
IEITM      IELITM
15579887      8500-502                
15579924      8500-502                

I cannot have both 15579887 and 15579924 for one 8500-502.

IEITM  >>>----->   IELITM          Correct
IEITM  >>>----->   IELITM          Correct
IEITM  >>>--\  
                     >--->  IELITM          Incorrect
IEITM  >>>--/          

How do I wite an Access Query that will show only the IELITM's that have duplicate IEITM's? The table has 1.36 million lines and I need a report that shows only occurance like the example above.

SELECT PRODDTA_F30026.IEITM, PRODDTA_F30026.IELITM
FROM PRODDTA_F30026
GROUP BY PRODDTA_F30026.IEITM, PRODDTA_F30026.IELITM
ORDER BY PRODDTA_F30026.IELITM;

Any suggestions? The basic Find Duplicates Query does not work in this situation.

tw
0
Tom Winslow
Asked:
Tom Winslow
  • 2
2 Solutions
 
unknown_routineCommented:
Select IELITM, count(IEITM)
from  
PRODDTA_F30026
Group by IELITM
Having  count(IEITM)=2
0
 
Tom WinslowAuthor Commented:
This does not work because there are legitimate occurrences where I can have more than one occurrence of IEITM  >>>----->   IELITM where the duplicates are the same IEITM and the same IELITM.

The problem is that I have MORE THAN ONE IEITM paired to the same IELITM.

EXAMPLE - This is correct:
IEITM         IELITM
924246      APCB-10106-5            
924246      APCB-10106-5            

EXAMPLE - This is NOT correct:
IEITM            IELITM
15579887      8500-502                
15579924      8500-502                
(Note two different IEITMs)
0
 
PatHartmanCommented:
First you need a list of distinct IEITM/IELITM pairs.

Select Distinct IEITM, IELITM from your table;

Then create a find duplicates query on that query.
0
 
Tom WinslowAuthor Commented:
I used both suggestions to make the query work.

SELECT DISTINCT PRODDTA_F30026.IEITM, PRODDTA_F30026.IELITM INTO [tblF30026(FindDupes-1)]
FROM PRODDTA_F30026
ORDER BY PRODDTA_F30026.IELITM;

SELECT [tblF30026(FindDupes-1)].IELITM, [tblF30026(FindDupes-1)].IEITM INTO [tblF30026(FindDupes-2)]
FROM [tblF30026(FindDupes-1)]
WHERE ((([tblF30026(FindDupes-1)].IELITM) In (SELECT [IELITM] FROM [tblF30026(FindDupes-1)] As Tmp GROUP BY [IELITM] HAVING Count(*)>1 )))
ORDER BY [tblF30026(FindDupes-1)].IELITM;

Thanks very much for your help.

tw
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now