Please show us your table design and a short blurb about your application.
Mock up: Usage of self-join -- Based on All sponsors are Members, but NOT ALL members are sponsors
tblMember
memid |
memname |
sponsorID |
1 |
John |
8 |
2 |
Jim |
3 |
3 |
Barb |
2 |
4 |
Les |
7 |
5 |
Ken |
2 |
6 |
Ivan |
1 |
7 |
Igor |
2 |
8 |
Crystal |
4 |
9 |
Amber |
3 |
SQL for MemberHasSponsorQ
Code:
SELECT m.memname AS member, s.memname AS sponsor
FROM tblMember AS s LEFT JOIN tblmember AS m ON s.memid = m.sponsorID
WHERE (((m.sponsorid) Is Not Null))
ORDER BY s.memname;
member |
sponsor |
Amber |
Barb |
Jim |
Barb |
John |
Crystal |
Les |
Igor |
Igor |
Jim |
Ken |
Jim |
Barb |
Jim |
Ivan |
John |
Crystal |
Les |
MembersWhoAreNotSponsorsQ
Code:
SELECT tblMember.memname
FROM tblMember
WHERE (((tblMember.memid) Not In (SELECT distinct tblMember.sponsorID
FROM tblMember)));
Result is
Hope this is helpful.