Има няколко начина да направите това:
Можете да използвате анти-съединяване, като например:
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);
Друг начин (и моят предпочитан метод) да направите това, което искате е:
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;
Обаче предвид данните, които сте показали, тази заявка, както и оригиналната ви заявка, трябва да върне нула редове. SQLFiddle тук
Имайте предвид, че ако коментирате текущия заем към член 004, тогава се връща „Joe Brown“ SQLFiddle тук
Успех.