Er zijn een aantal manieren om dit te doen:
U kunt een anti-join gebruiken, zoals:
SELECT m.MEMBERID,
m.LASTNAME,
m.FIRSTNAME
FROM MEMBERS m
WHERE m.MEMBERID NOT IN (SELECT DISTINCT MEMBERID
FROM CURRENTLOAN
UNION ALL
SELECT DISTINCT MEMBERID
FROM HISTORY);
Een andere manier (en mijn voorkeursmethode) om te doen wat je wilt is:
SELECT DISTINCT m.MEMBERID,
m.LASTNAME,
m.FIRSTNAME
FROM MEMBERS m
LEFT OUTER JOIN (SELECT DISTINCT MEMBERID
FROM (SELECT MEMBERID
FROM CURRENTLOAN
UNION ALL
SELECT MEMBERID
FROM HISTORY)) u
ON u.MEMBERID = m.MEMBERID
WHERE u.MEMBERID IS NULL;
Gezien de gegevens die u heeft getoond, zou deze zoekopdracht, evenals uw oorspronkelijke zoekopdracht, nul rijen moeten opleveren. SQLFiddle hier
Houd er rekening mee dat als u commentaar geeft op de huidige lening aan lid 004, "Joe Brown" wordt geretourneerd SQLFiddle hier
Veel succes.