Название: Верните адреса и телефоны Отправлено: snmax от 05 Октября 2009, 11:16:29 Здравствуйте.
Кроме просмотра данных о клиенте в окне биллинга я (и наверное не только я) использую для анализа и статистики свои SQL-запросы.С выводом адресов и телефонов из USERS стало очень неудобно. Верните,плз, адреса и телефоны в основную таблицу.Изменения по ним происходят крайне редко.Адрес клиента есть основная характеристика но не дополнительная. Спасибо. Название: Re: Верните адреса и телефоны Отправлено: Cell от 05 Октября 2009, 11:23:26 Согласен, вообще не понял, зачем их было в дополнительные данные переносить. Не... история... ревизия это все хорошо. Но адрес - это перебор ИХМО
Название: Re: Верните адреса и телефоны Отправлено: versus от 05 Октября 2009, 11:48:31 Вернуть не сможем! перенос адреса в доп данные вполне разумно с точки зрения уменьшения нагрузки на базу данных
Название: Re: Верните адреса и телефоны Отправлено: ankos от 05 Октября 2009, 11:54:22 То что Адрес и телефоны хранятся в доп.даных неплохо. Может лучше отображение перенести в на страницу просмотра клиента.
Все таки так удобней. Может просто привычка!? Название: Re: Верните адреса и телефоны Отправлено: Cell от 05 Октября 2009, 12:12:43 Вернуть не сможем! перенос адреса в доп данные вполне разумно с точки зрения уменьшения нагрузки на базу данных Позволю себе не согласится с этим. Приведите пример, при котором простой запрос на выборку будет более ресурсоемким чем составной или с объединением таблиц. Если можно, применительно к адресу клиента.Название: Re: Верните адреса и телефоны Отправлено: Efendy от 05 Октября 2009, 14:45:09 Вынос адреса и иных полей в дополнительную таблицу продиктован такими соображениями:
- невозможно (и не разумно) внести в таблицу users все поля, которые могут понадобиться конкретной сети. Например, недавно мы были в городе Новоднестровске, так там понятие "улица" вообще отсутствует. Зато есть микрорайоны. Есть сети, у которых обязательным параметром должно быть поле "город". Есть организации, которым до фени подъезд, этаж и телефон. Мы даем гибкую структуру, позволяющую настроить биллинг конкретно под себя. Вы можете создать несколько полей, хранящих, скажем несколько мак-адресов сетевых карт (допустим у клиента несколько компов и он так хочет, он платит) - создаем несколько полей mac-адреса и вуаля. Или еще реальный пример: в одной из сетей для доступа к статистике используется один пароль, а для авторизации иной, поскольку он прописан в модеме. - единый интерфейс доступа к дополнительным полям по их алиасам, позволяет писать автономные скрипты, даже не вникая в структуру БД, просто в админке внеся новые поля заданной конфигурации. - возможность в любой момент произвести откат к любой ревизии, просмотреть всю цепочку изменений. Да, по-началу трудно воспринимать структуру дополнительных полей. Но если разобраться и записать в блокнотик примеры выборок, то работать с ними не составит труда. Название: Re: Верните адреса и телефоны Отправлено: Efendy от 05 Октября 2009, 14:49:28 Вернуть не сможем! перенос адреса в доп данные вполне разумно с точки зрения уменьшения нагрузки на базу данных Позволю себе не согласится с этим. Приведите пример, при котором простой запрос на выборку будет более ресурсоемким чем составной или с объединением таблиц. Если можно, применительно к адресу клиента.Название: Re: Верните адреса и телефоны Отправлено: snmax от 28 Октября 2009, 09:45:52 Тогда помогите.
Дайте пример эффективного запроса для вывода в одной таблице данных клиента: SELECT ID,IP,FIO,улица,дом,квартира,телефоны Спасибо. Название: Re: Верните адреса и телефоны Отправлено: Efendy от 28 Октября 2009, 10:56:49 Тогда помогите. Дайте пример эффективного запроса для вывода в одной таблице данных клиента: SELECT ID,IP,FIO,улица,дом,квартира,телефоны Спасибо. Код: SELECT * FROM dopdata WHERE revision=( SELECT MAX(revision) FROM dopdata WHERE parent_id=айди_клиента AND template_num=(SELECT template_num FROM dopfields WHERE field_alias LIKE '_adr_%' LIMIT 1) ) или например получение только дома: Код: SELECT * FROM dopdata WHERE revision=( SELECT MAX(revision) FROM dopdata WHERE parent_id=айди_клиента AND template_num=(SELECT template_num FROM dopfields WHERE field_alias LIKE '_adr_%' LIMIT 1) ) AND field_alias LIKE '_adr_house' Название: Re: Верните адреса и телефоны Отправлено: snmax от 28 Октября 2009, 11:51:19 Получение одной из позиций не вопрос.
Покажите как выбрать одновременно много позиций из DOPDATA в одну таблицу одним запросом Для чего это надо. Монтажной бригаде совершенно не обязательно видеть всю базу биллинга. Но видеть заявки на ремонт и подключения видеть необходимо. При этом такие таблицы удобны в виде представлений,дабы не публиковать всю базу в интернете. Название: Re: Верните адреса и телефоны Отправлено: Efendy от 28 Октября 2009, 12:03:21 Получение одной из позиций не вопрос. надо было потратить 10 секунд на проверку того, что я написал выше и убедиться, что 1й запрос выдает все данныеПокажите как выбрать одновременно много позиций из DOPDATA в одну таблицу одним запросом Название: Re: Верните адреса и телефоны Отправлено: versus от 28 Октября 2009, 12:11:59 Получение одной из позиций не вопрос. Покажите как выбрать одновременно много позиций из DOPDATA в одну таблицу одним запросом Для чего это надо. Монтажной бригаде совершенно не обязательно видеть всю базу биллинга. Но видеть заявки на ремонт и подключения видеть необходимо. При этом такие таблицы удобны в виде представлений,дабы не публиковать всю базу в интернете. Доп данные имеют такое понятие как темплейт, напримпер темплейт адрес, темплейт технические данные, темплейт паспортные данные и инн клиента, темплейт данных юридического лица Теперь вопрос приведите мне пример задачи которая потребует вывода всех данных со всех темплейтов одним запросом? Ну и как ответили выше просто внимательнее читать надо! первый же запрос выводил все данные из темплейта где алиас доп данных начинается с _adr_! Этого достаточно что бы вывести адрес и телефон клиента одним запросом! Хотя кто их читает те запросы! Название: Re: Верните адреса и телефоны Отправлено: snmax от 28 Октября 2009, 12:13:56 И всё-таки я настаиваю:
покажите как вывести всю таблицу USERS (или её часть по признаку cstate =2) с указанными дополнительными параметрами. При этом подразумевается что АЙДИ_КЛИЕНТов постоянно меняются и в момент запроса не известны Название: Re: Верните адреса и телефоны Отправлено: snmax от 28 Октября 2009, 12:16:35 Для чего это надо.
Монтажной бригаде совершенно не обязательно видеть всю базу биллинга. Но видеть заявки на ремонт и подключения видеть необходимо. При этом такие таблицы удобны в виде представлений,дабы не публиковать всю базу в интернете. Название: Re: Верните адреса и телефоны Отправлено: versus от 28 Октября 2009, 12:17:34 И всё-таки я настаиваю: покажите как вывести всю таблицу USERS (или её часть по признаку cstate =2) с указанными дополнительными параметрами. При этом подразумевается что АЙДИ_КЛИЕНТов постоянно меняются и в момент запроса не известны я думаю с вашими знаниями SQL вам лучше обратится не на форум, а на тематический ресурс http://dev.mysql.com/doc/refman/5.0/en/, мы ж НЕ обучаем работе с базой данных! за отдельные деньги я могу сделать для вас исключение 50-100 баксов за запрос Ну или обучить поиску на форуме за каких то жалких 30 баксов Название: Re: Верните адреса и телефоны Отправлено: versus от 28 Октября 2009, 12:26:55 Для чего это надо. Монтажной бригаде совершенно не обязательно видеть всю базу биллинга. Но видеть заявки на ремонт и подключения видеть необходимо. При этом такие таблицы удобны в виде представлений,дабы не публиковать всю базу в интернете. я так понимаю вашей монтажной бригаде просто жизненно необходимы данные о паспорте и инн пользователе о закрытом порте 25 и расчетном счете организации ? Название: Re: Верните адреса и телефоны Отправлено: snmax от 28 Октября 2009, 12:32:06 Правильно ли я понял,-это сделано именно с этой целью?
А диалог мне напомнил классику: - О.Бендер. "А что отец,есть ли в городе невесты?" - Дворник. "Кому и кобыла невеста." - О.Бендер. "Вопросов больше не имею" Спасибо Название: Re: Верните адреса и телефоны Отправлено: snmax от 28 Октября 2009, 12:34:35 Не надо утрировать.
Что нужно монтажнику я указал конкретно SELECT ID,IP,FIO,улица,дом,квартира,телефоны Название: Re: Верните адреса и телефоны Отправлено: versus от 28 Октября 2009, 13:16:26 Правильно ли я понял,-это сделано именно с этой целью? А диалог мне напомнил классику: - О.Бендер. "А что отец,есть ли в городе невесты?" - Дворник. "Кому и кобыла невеста." - О.Бендер. "Вопросов больше не имею" Спасибо Это сделано с целью оптимизации базы данных к растущему потреблению ресурсов! Перечитай всю ветку с начала! ради того что ты не можешь/не хочешь изучать SQL мы должны вернуть тормоза в ядро ? Отвечу в вашем духе -Может всё-таки возьмёте частями? -Я бы взял частями. Но мне нужно сразу. Все и на шару не бывает! Либо поиск либо учится либо платить деньгами |