ip
의 DHCP 범위에없는 레코드를 원합니다. ip
테이블에는 약 1,000 개의 레코드가 있으며 범위는 약 1000입니다.SQL. 레코드 및 범위 비교 (두 개의 다른 테이블)
SELECT ip FROM ip WHERE ip NOT BETWEEN(SELECT start,end FROM dhcprange)
아이디어 :
CREATE TABLE ip (ip int);
CREATE TABLE dhcprange (start int,end int);
INSERT INTO found_ips VALUES
(INET_ATON('10.0.0.10')),
(INET_ATON('10.0.0.11')),
(INET_ATON('10.0.0.12')),
(INET_ATON('10.0.0.51')),
(INET_ATON('10.0.0.52')
);
INSERT INTO dhcpranges VALUES
(INET_ATON('10.0.0.50'),INET_ATON('10.0.0.60'),
(INET_ATON('10.0.0.70'),INET_ATON('10.0.0.100')
);
이 작동하지 않습니다 (? 이것은 불행하게도 (INET_ATON은 지원되지 않음) sqlfiddle에서 작동하지 않습니다)?
http://sqlfiddle.com/#!2/d41d8/1047 - inet_aton은 sqlfiddle에서 지원되는 것으로 보입니다. 정확히 당신 한테 효과가 없었던 게 뭐죠? 여기에서 : http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_inet-aton 나는 당신이 여기있는 것처럼 단순히 INT가 아닌 INT UNSIGNED를 사용해야한다는 것을 안다. 아마도 그것이 문제일까요? –
이상한, thie 문제를 다시 만들 수 없습니다. 대답 해줘서 고마워. – Karlo