Я пытаюсь получить все свои сообщения, где IP-адрес голосования не соответствует моему.Вот мой SQL.Проблема в том, что я получаю пост, за который я голосовал, когда кто-то еще голосовал за него.Я думал, что этот код говорит, что выбрать сообщение, когда левое соединение возможно, и нет IPAddr, который == мой.Но этого, похоже, не происходит.Как мне написать это?
select * from Post
left join Vote as V on V.post=Post.id AND V.IPAddr<>123
where flag='1';
Вот некоторые фиктивные данные, чтобы проиллюстрировать проблему.
create table P(id int primary key, body text);
create table V(id int primary key, val int, ip int, post int);
insert into P values(1,"aaa");
select * from P left join V on V.post=P.id where (V.ip is null or V.ip<>123);
insert into V values(1, 2,123,1);
select * from P left join V on V.post=P.id where (V.ip is null or V.ip<>123);
insert into V values(2, 2,13,1);
select * from P left join V on V.post=P.id where (V.ip is null or V.ip<>123);