Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос к 2 полям с выводом по 8 полей / 8 сообщений из 8, страница 1 из 1
03.10.2014, 01:27:01
    #38765507
ЛУК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к 2 полям с выводом по 8 полей
Привет всем.
Есть таблица (id, ip) имеющая 256 записей.
Задача получить (id, ip, id, ip, id, ip, id, ip) в 64 строки.
При этом желательно выдержать последовательность
(0, 192.168.0.0, 64, 192.168.0.64, 128, 192.168.0.128, 192, 192.168.0.192)
ну и вниз по порядку.

Поигрался с JOIN к самому себе и UNION ... не получилось.
Задачка то сроде бы простая, а я что-то туплю.
...
Рейтинг: 0 / 0
03.10.2014, 05:01:20
    #38765543
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к 2 полям с выводом по 8 полей
ЛУК,

Код: sql
1.
2.
3.
4.
5.
6.
select t1.id,t1.ip,...,t4.id,t4.ip
from table t1
join table t2 on t1.id+64=t2.id
join table t3 on t1.id+128=t3.id
join table t4 on t1.id+192=t4.id
where t1.id<64
...
Рейтинг: 0 / 0
03.10.2014, 09:15:40
    #38765600
ЛУК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к 2 полям с выводом по 8 полей
tanglir,

Спасобо! Оч. помогло.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT * FROM `ip_addr` as `t0`
JOIN `ip_addr` as `t1` ON `t0`.`ip_id`+64=`t1`.`ip_id`
JOIN `ip_addr` as `t2` ON `t0`.`ip_id`+128=`t2`.`ip_id`
JOIN `ip_addr` as `t3` ON `t0`.`ip_id`+192=`t3`.`ip_id`
WHERE `t0`.`ip_id`>=( select min(`ip_id`) from `ip_addr` where `ip_addr` like '192.168.3.%')
AND `t0`.`ip_id`<=( select max(`ip_id`-192) from `ip_addr` where `ip_addr` like '192.168.3.%')
ORDER BY `t0`.`ip_id`


Теперь запрос работает и для других сегментов.
...
Рейтинг: 0 / 0
03.10.2014, 10:19:14
    #38765668
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к 2 полям с выводом по 8 полей
ЛУКзапрос работаетЭто пока в нумерации ip_id пропусков нет...
ЛУК
Код: plsql
1.
where `ip_addr` like '192.168.3.%'

А вот за это - фу. Попробуйте, поищите подсети размером, отличным от /8, /16, /24.
...
Рейтинг: 0 / 0
03.10.2014, 11:30:18
    #38765785
ЛУК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к 2 полям с выводом по 8 полей
miksoft,

У меня в конторе чуть менее 700 машин.
22 подсеть. Т.е. включает в себя 1016 ip адресов.
Соответствено 192.168.4.254 максимальный ip.
Мне этот запрос нужен для формирования таблицы на web морде что бы 24 подсеть полностью помещалась на экране.
Большего мне и не нужно. Т.ч. конкретная задача можно сказать решена.

PS: Что касается лайков ... знаю. Тормозные. Но с учетом кол-ва строк в таблице ... вполне ничего себе.
0.5 секунды вместе с разукрашенным выводом на экран.
...
Рейтинг: 0 / 0
03.10.2014, 11:54:18
    #38765834
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к 2 полям с выводом по 8 полей
ЛУК22 подсеть. Т.е. включает в себя 1016 ip адресов.
Соответствено 192.168.4.254 максимальный ip.Точнее, 192.168.3.254.
ЛУКPS: Что касается лайков ... знаю. Тормозные.Дело не в торомозах. А в том, что ту же вашу /22 подсеть вы таким образом выбрать не сможете.
...
Рейтинг: 0 / 0
04.10.2014, 13:50:46
    #38766866
ЛУК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к 2 полям с выводом по 8 полей
miksoft,

Конечно 3.254. Очепятялся ).
/22 вывести не не могу, но мне и не оно и не надо.
Поскольку каждый /24 из моей /22 находятся в разных местах и принадлежат разным ТУ (так мы их определяем), то мне вполне достаточно 254 адреса вывести за раз, ибу в каждом конкретном ТУ не более 200 машин.

PS: Я конечно понимаю, что написать код с запасом на будущее правильнее. Но! Давайте решать задачи по мере их необходимости.
...
Рейтинг: 0 / 0
05.10.2014, 01:00:25
    #38767096
ЛУК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к 2 полям с выводом по 8 полей
ЛУК,

Узнал для себя про INET_ATON & INET_NTOA.
Хе-хе ... жизнь стала проще и быстрее, и от LIKE избавился )).
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос к 2 полям с выводом по 8 полей / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]