Название: Запрос к dopvalues Отправлено: Suicid1g от 11 Октября 2012, 14:25:04 Всем привет, замучался с дополнительными данными:
там хранится точка подключения и порт в 2х полях. хочу выбрать юзеров подключенных "в тот вон порт, вон в том коммутаторе" Название: Re: Запрос к dopvalues Отправлено: 0xbad0c0d3 от 11 Октября 2012, 15:15:12 зачем там хранить точку подключения? Если для этого есть колонка в таблице users? oO
Название: Re: Запрос к dopvalues Отправлено: Suicid1g от 11 Октября 2012, 16:10:36 Опечаточка: не точка подключения, а ип коммутатора куда воткнули клиента
Но смысл вопроса от этого не меняется: как найти в этой таблице по 2м параметрам Название: Re: Запрос к dopvalues Отправлено: 0xbad0c0d3 от 11 Октября 2012, 16:24:18 подзапросами ищем сначала всех на свитче, потому что их, вероятнее, будет меньше, а потом смотреть у кого интересующий нас порт.
Название: Re: Запрос к dopvalues Отправлено: stix от 11 Октября 2012, 16:27:22 я бы сделал через функцию
Название: Re: Запрос к dopvalues Отправлено: Suicid1g от 11 Октября 2012, 17:01:10 подзапросами ищем сначала всех на свитче, потому что их, вероятнее, будет меньше, а потом смотреть у кого интересующий нас порт. Код: SELECT * FROM dopvalues WHERE dopfield_id=6 and field_value=$F{port} AND parent_id IN Название: Re: Запрос к dopvalues Отправлено: 0xbad0c0d3 от 11 Октября 2012, 17:30:39 Так, да не так... Версия, я так думаю не 50.33.
потому нужно связывать по ревизии, а не по parent_id Код: SELECT * FROM dopvalues WHERE dopfield_id=6 and field_value=$F{port} AND revision IN Название: Re: Запрос к dopvalues Отправлено: Suicid1g от 12 Октября 2012, 09:13:15 ну судя по подфоруму у меня не 50 nodeny ;D
да, поля находятся в тех. данных Код: INNER JOIN rev_users r ON r.rev=dv.revision WHERE dv.dopfield_id=5 AND dv.field_value='$sw_ip' AND r.template_num=1) Название: Re: Запрос к dopvalues Отправлено: Suicid1g от 12 Октября 2012, 09:21:47 подсказали решение добрые люди) вот так выглядит
Код: select parent_id Название: Re: Запрос к dopvalues Отправлено: stix от 12 Октября 2012, 09:46:38 А потом еще select name,fio from users where id = твой запрос.
Сколько времени занимает выборка? Название: Re: Запрос к dopvalues Отправлено: 0xbad0c0d3 от 12 Октября 2012, 10:07:13 ну судя по подфоруму у меня не 50 nodeny ;D 50 и 49 отличаются только ограничениями, если что ;)да, поля находятся в тех. данных Код: INNER JOIN rev_users r ON r.rev=dv.revision WHERE dv.dopfield_id=5 AND dv.field_value='$sw_ip' AND r.template_num=1) Название: Re: Запрос к dopvalues Отправлено: Suicid1g от 12 Октября 2012, 10:14:30 Сколько времени занимает выборка? сложно судить о времени выборки на БД с 1м пользователем :-\Название: Re: Запрос к dopvalues Отправлено: stix от 12 Октября 2012, 10:14:52 Кстати в чем отличие 50.32 и 50.33 ?
Название: Re: Запрос к dopvalues Отправлено: elite от 12 Октября 2012, 10:30:06 в допданных
Название: Re: Запрос к dopvalues Отправлено: 0xbad0c0d3 от 12 Октября 2012, 11:23:04 в дополнение к:
в допданных в 50.33 нет ревизии, точнее она еть, но она в другой таблице, которая задействуется только при просмотре истории и сохранении допланных, что значительно ускоряет и упрощает выборку полей.Например для .33-версии выбрать актуальные данные для абона выглядит так: Код: SELECT dv.* FROM dopvalues dv Название: Re: Запрос к dopvalues Отправлено: stix от 12 Октября 2012, 11:31:03 Хм, стремно обновляться.
Много кустомизированного всего на 50.32 Наверное буду пробовать переносить все на 52 сразу Название: Re: Запрос к dopvalues Отправлено: 0xbad0c0d3 от 12 Октября 2012, 11:41:00 Стремно было обновляться с 50.19 на 50.32 с over9000 абонов ))) со всеми костылями )))
Название: Re: Запрос к dopvalues Отправлено: stix от 12 Октября 2012, 12:25:01 Да у меня в некоторых также, потому маленький апдейт принесет большой гемор и вырванные годы.
И в каждой все по-своему...некоторые функции авторизации используют процедуры и функции подвязаны доп полях. Со след неделе в облаке подниму последнй релиз nodeny |