我嘗試連接兩個表。一個是填充完全獨特變量debtor
的表格。不存在債務人ID的重複。 現在我想加入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'
不出現連接將不會執行?
我應該從查詢中得到的首選答案應該是隻有橙先生應該出現。
誰能幫幫我?如果你想只有那些發票
你真正需要的結果是什麼列? –