а как узанть адрес ip , котрый не содержится в подсети?

MaximZ
Дата: 31.03.2004 21:01:45
Есть таблица t1, в ней два поля saddr и daddr, соответствено исходящий и входящий адрес.
и есть таблица t2 в которой список подсетей net.
Вот запрос:

select a.saddr, a.daddr
from t1 as a, t2 as b
where a.saddr <<= b.net AND NOT a.daddr <<=b.net

под идее он должен показать все строки t1 в которых saddr и daddr не содержатся в подсетях содержащихся в таблице t2.

но все равно выбирает строки которые содержат daddr состоящий в подсетях таблицы t2. Хотя saddr выбирает правильно.

ни нифига не понмаю почему он выбирает лишние строки.
Щдуп
Дата: 02.04.2004 12:32:26
Может попробовать скобками явно приоритет операций задать?
фтещт
Дата: 05.04.2004 11:44:57
saddr <<= b.net
AND
NOT a.daddr <<=b.net

все строки t1 в которых saddr и daddr не содержатся в подсетях содержащихся в таблице t2


логически условие для полей saddr и daddr одинаково (они не должны содержаться в подсетях), а в запросе условия разные..