Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
[MySQL-гуру] Сложный запрос к базе (Eugene) 20/11/2008 - 13:17:38
      Re: [MySQL-гуру] Сложный запрос к базе (Василий) 20/11/2008 - 15:32:21

> Original message text:
> From: Eugene - 20/11/2008 - 13:17:38
> Subject:[MySQL-гуру] Сложный запрос к базе
> -----------------
> итак есть огромная база с примерно такими таблицами:
>
> Table `Group` {
> id,
> user,
> param1_i,
> param1,
> param2_i,
> param2,
> ...
> param9_i,
> param9
> } - все поля числовые
> ~порядка 50 000 000 записей
>
> соответственно каждое поле в таблице соответствует ID в другой таблице, где и лежат уже все необходимые данные
>
> Table `param_aa` {
> id,
> param_name - varchar 255
> }
>
>
> т.е.:
>
> Table `Group` {
> id, --> порядковый номер записи (набор параметров)
> user, --> ID юзера -> таблица users
>
> ~
> до этого момента все просто
> LEFT JOIN `users` и полетели
>
> ...а вот дальше как быть:
> ~
>
> param1_i, --> ID базы с данными... к примеру если param1_i == 1, то база с параметрами param_aa, если param1_i == 2, то база с параметрами param_ab... и т.д.
> param1, --> соответственно, если param1_i == 1, то нужно взять данные (param_name) из таблички param_aa, где id = param1
> param2_i, --> следующий параметр базы (к примеру == 10)
> param2, --> соответственно выбираем из базы param_XX (последние 2 буквы базы на основе param2_i), где param_XX.ID == param2
> ...
> ну и т.д.
> }
>
> соответственно, за один присест (запрос) может быть до 10 инклюдов базы
>
> у меня есть изначальная разлиновка... какой параметр таблицы (paramX_i) соответствует какая таблица param_XX - тут все банально:
> id - table
> 1 - param_aa
> 2 - param_ab
> 3 - param_ac
> 4 - param_ad
> ...
> и т.д.
> до param_zz
> итого 676...
>
> уважаемые Знатоки, а теперь внимание вопрос
>
> как динамично подставлять таблицу?!
> т.е.
> у меня запрос
> SELECT *
> from `Group`
> where `user`
> LIMIT 10
>
> соответственно сюда добавляем ЛЕФТ ДЖОИН users -> получаем инфу о юзере,
>
> нужно так же подставлять
> базу под каждый param и получать из нее данные одним запросом
>
> PS. я вот тут подумал... может процедурами сделать?! ......правда ни разу их не юзал.......
>


From: Василий - 20/11/2008 - 15:32:21
Subject:[MySQL-гуру] Сложный запрос к базе
-----------------
>как динамично подставлять таблицу?!

С помощью подготовленных выражений. Подобный пример разобран в статье "Использование PREPARE в хранимых процедурах" http://webew.ru/articles/178.webew


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
34571



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |