Có một số cách để làm điều này:
Bạn có thể sử dụng một anti-join, chẳng hạn như:
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);
Một cách khác (và phương pháp ưa thích của tôi) để làm những gì bạn muốn là:
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;
Tuy nhiên, với dữ liệu bạn đã hiển thị truy vấn này, cũng như truy vấn ban đầu của bạn, sẽ trả về không hàng. SQLFiddle tại đây
Lưu ý rằng nếu bạn nhận xét khoản vay hiện tại cho thành viên 004, thì "Joe Brown" sẽ được trả lại SQLFiddle tại đây
Chúc may mắn.