А вот еще если вот такой случай ...
kechinoff 23.01.2007 16:49
С JOIN в конкретно этом примере понятно.
А если есть такой случай. В той же таблице bulletin есть несколько полей, которые являются как бы параметрами товара. Т.е. в таблице bulletin есть поля:
type (INT),
subcategory (INT),
body (INT)
во всех этих полях содержится число - идентификатор параметра. А названия параметров содержатся в отдельной ОДНОЙ табличке:
Таблица param (id INT, title VARCHAR(50))
1 Седан / тип кузова, поле type
2 Пикап / --- /
3 Труповозка / --- /
4 Автомобили / подкатегория, поле subcategory
5 Морской транспорт / --- /
6 Космический транспорт / --- /
7 Красный / цвет, поле body
8 Желтый / --- /
9 Зеленый / --- /
В общем, если строковое описание каждое параметра содержится в своей таблице (как было с "Марка автомобиля" и "Категория"), то с JOIN понятно. А если все эти параметры лежат в одной таблице, как сейчас, как примерно будет выглядеть запрос? Т.е.
SELECT
bulletin.id as id,
bulletin.name as name,
bulletin.region as region,
region.name as region_name,
bulletin.body as body,
... [тут нужно выбрать текстовое значение body_name из таблицы param, где param.id = bulletin.body ] ...
region.name as region_name,
bulletin.subcategory as subcategory,
... [тут нужно выбрать текстовое значение subcategory_name из таблицы param, где param.id = bulletin.subcategory ] ...
FROM
bulletin,
LEFT JOIN region ON bulletin.region = region.id
... [ и тут нужно как-то вписать, что в общем деле еще участвует и таблица param]
Если есть какие-то идеи, прошу помочь.
Сожалею, что не по парсеру, но за эти 4 часа книгу по SQL я купить пока не успел, поэтому буду радоваться, если поможете.