HSG
HSG

Reputation: 45

Sql finding two columns for values

I have 2 tables joined with inner join with a column Now rows would have

A   B
C   D
E   G
P   Q
Z   F

This row I need to compare with Master Relation Table

Column1     Column2
A       B
D       C
E       F

So based on the above condition I need to show records in a report

A   B   Do Not Show
C   D   Do Not Show
E   G   Show
P   Q   Show
Z   F   Show

Upvotes: 0

Views: 48

Answers (1)

Raging Bull
Raging Bull

Reputation: 18737

You can do it this using LEFT JOIN:

SELECT T1.Col1,T1.Col2,
       CASE WHEN T2.Column1 IS NOT NULL THEN 'Do Not Show' ELSE 'Show' END AS Result
FROM Table1 T1 LEFT JOIN
     Table2 T2 ON 
     (T1.Col1=T2.Column1 AND T1.Col2=T2.Column2) 
     OR (T1.Col1=T2.Column2 AND T1.Col2=T2.Column1)

Result:

Col1    Col2    Result
---------------------------
A       B       Do Not Show
C       D       Do Not Show
E       G       Show
P       Q       Show
Z       F       Show

Sample result in SQL Fiddle

Upvotes: 2

Related Questions