Solved

Query to find out records with non-duplicate of two columns combination

Posted on 2014-03-08
7
217 Views
Last Modified: 2014-03-17
This is an extension for question:
http://www.experts-exchange.com/Programming/Languages/SQL_Syntax/Q_28383519.html#a39914320

I have two tables that have the same structure but data might be slightly different. Table names are a and b and column names to be used are c1, c2 (there are many other columns for table a or b)

Example:
select c1, c2 from a
c1 c2
2  UK
3  USA
5  Japan

select c1, c2 from b:
c1  c2
2   UK
3   USA
5   France

After the query, result should be (retrieve c1, c2 info from table a)
c1 c2
5 Japan

Again, please note: I need to compare combined fields of c1 + c2. It's assumed both table a and b have the same number of records and mostly identical
0
Comment
Question by:heyday2004
7 Comments
 
LVL 34

Accepted Solution

by:
Dan Craciun earned 200 total points
ID: 39915180
SELECT a.c1, a.c2 FROM a WHERE a.c1 NOT IN (
SELECT a.c1 
    FROM a INNER JOIN b 
        ON a.c1=b.c1 AND a.c2 = b.c2 )

Open in new window


Basically select records that were not selected in the previous question.

HTH,
Dan
0
 

Author Comment

by:heyday2004
ID: 39915446
Thanks, but seems not exactly working as requested. I needs to compare combo of c1 and c2, seems above query didn't list all the occurrences.
0
 
LVL 4

Assisted Solution

by:rshq
rshq earned 100 total points
ID: 39915477
Hi
  I think we have some blank in data in c1,c2 fields.
  please use LTRIM,RTRIM function in  "Dan Craciun" query
SELECT a.c1, a.c2 FROM a WHERE Ltrim(Rtrim(a.c1)) NOT IN (
SELECT Ltrim(Rtrim(a.c1)) 
    FROM a INNER JOIN b 
        ON Ltrim(Rtrim(a.c1))=Ltrim(Rtrim(b.c1)) AND Ltrim(Rtrim(a.c2)) = Ltrim(Rtrim(b.c2)) )

Open in new window

0
VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

 
LVL 11

Assisted Solution

by:John_Vidmar
John_Vidmar earned 100 total points
ID: 39916447
SELECT	a.c1
,	a.c2
FROM	a
LEFT
JOIN	b	ON	a.c1 = b.c1
		AND	a.c2 = b.c2
WHERE	b.c1 IS NULL

Open in new window

0
 
LVL 32

Assisted Solution

by:awking00
awking00 earned 100 total points
ID: 39921066
select c1, c2 from a
where not exists
(select 1 from b
 where a.c1 = b.c1
 and a.c2 = b.c2);
0
 
LVL 34

Assisted Solution

by:Dan Craciun
Dan Craciun earned 200 total points
ID: 39921527
Can you please paste/attach samples of the data that was not listed?

We all gave queries that work perfectly with your sample from OP (tested and double tested). We need to see actual data if we're to correct the queries.

Dan
0
 

Author Closing Comment

by:heyday2004
ID: 39936087
Sorry for the late reply. Thanks for all the help.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

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…
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

840 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