Left Joins

BittenApple
BronzeLounger
Posts: 1498
Joined: 01 Mar 2015, 02:03

Left Joins

Post by BittenApple »

Hello team,
I have Left Outer Joins,
I have put:
Select a.memberID, a.memberName
From table1 a Left OUTER JOIN Table2 b ON a.MemberID=B.MemberID
WHERE b.MemberID IS NULL

To find the difference between first and second tables,
Then I have put:
Select a.memberID, a.memberName
From table2 b Left OUTER JOIN Table2 a ON a.MemberID=B.MemberID
WHERE a.MemberID IS NULL

The result of the first query is qry1 and the result of the second qry is qry2
When I joined qry1 to qry2 by inner join, I have found some memberIDs as a.memberID, a.membername (The query has brought some members)

How could this possible?

Regards,
BittenApple

User avatar
HansV
Administrator
Posts: 78588
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: Left Joins

Post by HansV »

BittenApple wrote:(...)
Then I have put:
Select a.memberID, a.memberName
From table2 b Left OUTER JOIN Table2 a ON a.MemberID=B.MemberID
WHERE a.MemberID IS NULL
(...)
You mention table2 twice here. Is that correct?
Best wishes,
Hans

BittenApple
BronzeLounger
Posts: 1498
Joined: 01 Mar 2015, 02:03

Re: Left Joins

Post by BittenApple »

Hello Hans,

If I have mentioned table2 twice that is wrong.
It should be From table2 b Left Outer Join Table1 On a.MemberID=b.MemberID
Where a.MemberId is Null.

Regards,
BittenApple

User avatar
HansV
Administrator
Posts: 78588
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: Left Joins

Post by HansV »

What do you see if you open qry2 by itself? If qry2 is really

Select a.memberID, a.memberName
From table2 b Left OUTER JOIN Table1 a ON a.MemberID=B.MemberID
WHERE a.MemberID IS NULL

then qry2 should only return records with Null values, since you select a.MemberID where a.MemberID is Null.
Best wishes,
Hans

BittenApple
BronzeLounger
Posts: 1498
Joined: 01 Mar 2015, 02:03

Re: Left Joins

Post by BittenApple »

Hans,
I made a mistake:

It should be:

Select a.memberID, a.memberName
From table2 b Left OUTER JOIN Table1 a ON a.MemberID=B.MemberID
WHERE b.MemberID IS NULL

I put this query to be able to find members who exists in November table but they are not in December table.
Regards,
BittenApple

User avatar
HansV
Administrator
Posts: 78588
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: Left Joins

Post by HansV »

The query

Select a.memberID, a.memberName
From table2 b Left OUTER JOIN Table1 a ON a.MemberID=B.MemberID
WHERE b.MemberID IS NULL

is useless, since you require that the join field on the left side of the join is null. Try

Select b.memberID, b.memberName
From table2 b Left OUTER JOIN Table1 a ON b.MemberID=a.MemberID
WHERE a.MemberID IS NULL
Best wishes,
Hans

BittenApple
BronzeLounger
Posts: 1498
Joined: 01 Mar 2015, 02:03

Re: Left Joins

Post by BittenApple »

Hello Hans,
First Query:
Select a.memberID, a.memberName
From table1 a Left OUTER JOIN Table2 b ON a.MemberID=b.MemberID
WHERE b.MemberID IS NULL

Second Query:

Select b.memberID, b.memberName
From table2 b Left OUTER JOIN Table1 a ON b.MemberID=a.MemberID
WHERE a.MemberID IS NULL

(I copied the second query from you):

I joined the result of query 1 and 2 and it gave me some records back; this is what I don't understand. These two queries shouldn't have any matching record.

Please let me know and save me from this dismal.
Regards,
BittenApple

BittenApple
BronzeLounger
Posts: 1498
Joined: 01 Mar 2015, 02:03

Re: Left Joins

Post by BittenApple »

Hello Hans,
This one is resolved so far.
Thanks for all you do!
Regards,
BittenApple