Ответ
Misha v.3 05.12.2007 11:24
это уже немного другой вопрос: как достать всех родителей.
хотя я подумал, даже если изменить структуру БД чтобы не было группировок по имени параметра (я тупил и думал что вы пытаетесь группировать продукты, а не свойства) ваша задача остаётся аналогичной, при этом запрос делает достаточно логичное действие: достаёт все параметры, которые привязаны непосредственно или пришли от родительских продуктов.
наверное остаётся только вариант с подзапросом из моего ответа, который в принципе можно развернуть в обычный join, правда его понятность при этом несколько пострадает.
но я бы в любом случае пытался бы избежать подобного запроса, т.к. с очень большой вероятностью будут страницы, на которых нужно будет показать параметры N проодуктов. это уже одним подобным запросом сделать будет нельзя (или очень сложно). т.е. я бы писал следующую логику:
1. по списку id продуктов достаются все их родители
2. для всех полученных родителей достаются все параметры
3. параметры каждого из этих продуктов можно посчитать и вывести на клиенте без доп. запросов.