SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.03.2013 01:45:12

kontra
Участник
Зарегистрирован: 07.03.2013
Сообщений: 1

Вывод из массива значений отсутствующих в заданном диапазоне

Есть задача получить список IP-адрессов НЕ ЗАНЯТЫХ.
Список занятых получить просто: выбрать их из базы, что и сделано нижеследующим.

$dbfh = mysql_connect($dbf_host, $dbf_user, $dbf_passwd) or die(mysql_error());
mysql_select_db($dbf_name, $dbfh) or die(mysql_error());
mysql_query("SET CHARACTER SET 'cp1251', lc_time_names = 'ru_RU'", $dbfh);
$ipnum='192.168.0';
$i='0';
$p='254';
$query = "SELECT ip FROM base
WHERE ip BETWEEN '$ipnum.0' AND '$ipnum.254'";
$result=MYSQL_QUERY($query);
while ($row=mysql_fetch_array($result))
{
print "$row[ip]";
}

Можно ли же в этом же запросе или вложенным выбрать значения в диапазоне BETWEEN '$ipnum.0' AND '$ipnum.254', которые там отсутствуют?

Спасибо.

Неактивен

 

#2 13.03.2013 17:36:18

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Вывод из массива значений отсутствующих в заданном диапазоне

Завести ещё одну таблицу с полным списком адресов

select f.ip from full_list f left join (ваш запрос) t using(ip) where t.ip is null;

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson