Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> оптимизировать запросы 
V
    Опции темы
studentigor
Дата 11.4.2010, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Доброго времени суток!!!
описание длинное но у кому хватит терпения дочитать, и подсказать, буду благодарен.

Есть строка, к примеру А Р 3 Т В Е, в этой строке, в каждом символе закодирована своя инфо.
Ну к примеру, первые три постоянны, они описываю Страну и модель прибора.
Следующие описывают его конкретные характеристики: к примеру для модель1,  Т(4й символ) - вес, В(5й символ) - цвет,  ну и тд.
А для модель2, Т(4й символ)- будет описывать цвет, а В(5й символ) - будет описывать вес.  
Я решл создать такие таблици:
1я - будет иметь такие поля: модель, позиция символа, и  название параметра, который прикреплен к этой позиции у данной модели(к примеру цвет)
2я: символ, и его разшифровка
1й запрос вытягивает параметр, он же и будет название 2й таблици
Код

SELECT param FROM 1я WHERE model = 'model' and position = 'position'

2й вытягивает непосредственно расшифровку символа для заданой модели 
Код

SELECT decoding FROM param WHERE model = 'model' and char = 'char' 

 
Или его можно написать так

Код

SELECT decoding FROM param WHERE param = (SELECT param FROM 1я WHERE model = 'model' and position = 'position') and model = 'model' and char = 'char'
 
или же тут нужно использовать левое соединение?
Подскажите пожалуйста
PM MAIL   Вверх
Mavrun
Дата 11.4.2010, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 25.11.2007

Репутация: 2
Всего: 13



лучше один делать запрос к БД, чем два, пускай запрос и посложнее будет.
PM MAIL   Вверх
studentigor
Дата 11.4.2010, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



тоесть такого типа
Код

SELECT decoding FROM param WHERE param = (SELECT param FROM 1я WHERE model = 'model' and position = 'position') and model = 'model' and char = 'char'

PM MAIL   Вверх
нуп
Дата 11.4.2010, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



Код

    
SELECT p.decoding, c.param  FROM param p, 1я c WHERE c.param = 'model' AND c.position = 'position' and p.model = 'model' and p.char = 'char'

как то так
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.