Det finns ett par sätt att göra detta:
Du kan använda en anti-join, till exempel:
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);
Ett annat sätt (och min föredragna metod) att göra vad du vill är:
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;
Med tanke på de data du har visat den här frågan, liksom din ursprungliga fråga, bör dock returnera noll rader. SQLFiddle här
Observera att om du kommenterar det aktuella lånet till medlem 004, så returneras "Joe Brown" SQLFiddle här
Lycka till.