У меня есть таблица с 2 столбцами, колой и колбом, которые представляют диапазон чисел.
Пример задачи:
cola - colb
1 - 10
11 - 22
33 - 66
67 - 67
- , если ввод 7-8Я хотел бы запрос, который извлек бы диапазон 1-10.
- , если ввод 67 - 80, я хотел бы запрос, который извлек бы 67 - 67
Пример запроса:
SELECT *
FROM example
WHERE vala >= cola
AND valb <= colb
Первый критерий работаетотлично с приведенным выше запросом, однако он падает, когда cola = colb, т.е. .. 67 - 67.
Выше приведен простой пример моей проблемы. Проблема на самом деле в диапазоне Ips.Cola - Colb2 = диапазон Ip.Я включил в случае, если чего-то не хватает в приведенном выше примере.
SELECT *
FROM `static_allocation`
WHERE INET_ATON('$network_addr') >= INET_ATON(network_addr)
AND INET_ATON('$broadcast_addr') <= INET_ATON(broadcast_addr)
LIMIT 1
Редактировать:
ОК, похоже, я немного не прав ..
Данные таблицы
10.0.0.0 - 10.0.0.15
10.0.0.16 - 10.0.0.16
однако, когда япопробуйте выбрать 10.0.0.16 - 10.0.0.20
, запись не найдется ..