| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Как правильно составить сложный запрос в MYSQL |
| Автор: Rusman 4.9.2012, 08:40 |
| Здравствуйте! Значит задача следующая. Допустим у нас есть общая такая таблица: ITEMS: ID TYPE_ID NAME TEXT К примеру мы хотим в зависимости от типа чтобы дополнительно у записей были еще поля. к примеру тип: Новость имеет: DATE и ANONCE тип: Книга имеет: AUTHOR и PRICE Думаю делать так: берем дополнительные таблицы к примеру ITEMS_PARAM: ID,TYPE_ID, NAME (Здесь добавляем какие параметры к какому типу относятся) ITEMS_PARAM_VALUE: ITEM_ID,PARAM_ID,VALUE (Здесь уже уставляем значения) Сейчас как правильно составить запрос, чтобы в результате мы имели массив в зависимости от типа: Например: Новость в результате получили: $result = array(ID,TYPE_ID,NAME,TEXT,DATE,ANONCE) а при условии Книги $result = array(ID,TYPE_ID,NAME,TEXT,AUTHOR,PRICE) и чтобы в запросе можно было сделать сортировку по доп. параметрам. Заранее большое спасибо! |
| Автор: skyboy 4.9.2012, 08:44 |
| inner join же! |
| Автор: Rusman 19.9.2012, 13:49 | ||
Не могли бы Вы примерный запрос написать. т.к. inner join я понимаю это как объединение таблиц и с этим проблем нет, но вот я описал немного другой случай. Или я не так понимаю? Спасибо! |
| Автор: skyboy 19.9.2012, 22:25 |
| подключаешь к таблице с айтемами таблицу с параметрами, отсеиваешь только параметр "Автор" или "цена" если надо несколько полей, на каждое поле подключаешь две таблицы. да, получается громоздко. но так и работает архитектура Entity-Attribute-Value |