ฉันพยายามเข้าร่วมสองตาราง ตารางหนึ่งคือตารางที่เต็มไปด้วยตัวแปรที่ไม่ซ้ำกันโดยสิ้นเชิง debtor
ไม่สามารถมีรหัสลูกหนี้ซ้ำกันได้ ตอนนี้ฉันต้องการเข้าร่วมกับตาราง items
โดยที่ debtor.debtor
id สามารถปรากฏได้หลายครั้ง
สิ่งที่ฉันต้องการทำคือเข้าร่วมเฉพาะในกรณีที่ไม่มีรายการ '20004'
ในประวัติการสั่งซื้อ
ฉันมีซอ sql ต่อไปนี้
http://sqlfiddle.com/#!2/a0826/1/0
create table items
(
debtor int,
item int,
qty int,
invoice int
);
create table debtor
(
debtor int,
name varchar(255)
);
insert into debtor(debtor, name)
VALUES ('1000','Mister blue'),
('1001','Mister Orange'),
('1002','Mister Red'),
('1003','Mister Yellow'),
('1004','Mister Green');
INSERT INTO items (debtor, item,qty, invoice)
values ('1000','20001','1','1'),
('1000','20002','1','1'),
('1000','20003','1','1'),
('1000','20004','1','1'),
('1000','20005','1','1'),
('1001','20001','1','2'),
('1001','20002','1','2'),
('1001','20003','1','2'),
('1001','20005','1','2'),
('1002','20001','1','3'),
('1002','20002','1','3'),
('1002','20003','1','3'),
('1002','20004','1','3'),
('1002','20005','1','3'),
('1002','20006','1','3'),
('1003','20001','1','4'),
('1003','20002','1','4'),
('1003','20003','2','4'),
('1003','20004','1','4'),
('1003','20005','1','4');
และฉันทำแบบสอบถามต่อไปนี้:
SELECT * FROM debtor
JOIN items on debtor.debtor = items.debtor AND items.item != '20004'
แต่ฉันยังคงได้รับรายการใบแจ้งหนี้ทั้งหมดที่ไม่ใช่ '20004'
ฉันจะดำเนินการค้นหาในลักษณะที่การรวมจะไม่ดำเนินการได้อย่างไรหากค่า '20004'
ไม่ปรากฏขึ้น
คำตอบที่ฉันต้องการซึ่งมาจากข้อความค้นหาควรเป็นเพียง mr Orange เท่านั้นที่ควรปรากฏ
ใครสามารถช่วยฉันได้บ้าง?