Имеется база данных MySQL со следующей структурой:
Код: Выделить всё
таблица product: поле id
поле name - данные берутся из таблицы products
поле focus - данные берутся из таблицы focus
поле provider - данные берутся из таблицы provider
таблица products: поле id
поле name - содержит название
поле type - данные берутся из таблицы types
таблица providers: поле id
поле name
таблица types: поле id
поле name - содержит название типа
таблица focus: поле id
поле value - содержит фокусное расстояниеЯ без проблем выбираю имя, фокус, производителя на основании известного product.id запросом вида:
Код: Выделить всё
select product.name, focus.value, providers.name as provider from product, products, focus, providers where product.id = 'нужный индекс' and product.name = products.id and product.focus = focus.id and product.provider = providers.idВ результате я получаю таблицу вида:
Код: Выделить всё
+--------------------------+---------------------------+------------------------+
name value provider
+--------------------------+---------------------------+------------------------+
название аппарата фокусное расстояние производитель
+--------------------------+---------------------------+------------------------+В данной таблице, для полноты картины, не хватает только данных о принадлежности аппарата к определенному типу, скажем камера, компьютер, плеер и т.д.
Я не могу сообразить как надо модифицировать запрос, если такое возможно, чтобы в результирующей таблице появилось поле type. Так сказать, возможно ли организовать "сквозной" запрос - по product.id я выбираю products.type, по которому уже смотрю types.name. При этом важно выбрать именно имя, описывающее тип, а не цифровой идентификатор, который я смог получить слегка модифицировав приведенный запрос.
Если это, один запрос для выборки всех данных, организовать не возможно, то как лучше организовать получение всех необходимых данных?
Спасибо.