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




MySQL.RU - Webboard



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



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. я вот тут подумал... может процедурами сделать?! ......правда ни разу их не юзал.......


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

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

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



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