1-й фрагмент фоновой инфы: речь идет о cms, который содержит отношения объект-объект и их сортировку в одной таблице, столбцы: object_id, parent_id и порядок сортировки
2-й кусок имеет запрос с несколькими объединениями, которые я хочу отсортировать по 2 параметрам. Одним из них является сортировка самого объекта, а вторым - порядок сортировки его родителя.
На данный момент у меня есть запрос:
SELECT obj_asset.*, object.headline AS title, oo.sort_order AS sort, op.sort_order FROM obj_asset
JOIN object ON obj_asset.object_id = object.object_id
JOIN object_object AS oo on obj_asset.object_id = oo.object_id
JOIN (SELECT sort_order from object_object WHERE object_id = (SELECT parent_id from object_object WHERE object_id = obj_asset.object_id )) AS op ON obj_asset.object_id = oo.object_id
WHERE obj_asset.profile_id = 140 AND obj_asset.rsvp_enabled = 1 AND object.is_published = 1 ORDER BY sort DESC;
И это не работает. Это работает хорошо, хотя:
SELECT obj_asset.*, object.headline AS title, oo.sort_order AS sort, op.sort_order FROM obj_asset
JOIN object ON obj_asset.object_id = object.object_id
JOIN object_object AS oo on obj_asset.object_id = oo.object_id
JOIN (SELECT sort_order from object_object WHERE object_id = (SELECT parent_id from object_object WHERE object_id = 11111 )) AS op ON obj_asset.object_id = oo.object_id
WHERE obj_asset.profile_id = 140 AND obj_asset.rsvp_enabled = 1 AND object.is_published = 1 ORDER BY sort DESC;
Ошибка, которую я получаю:
1054 - Неизвестный столбец 'obj_asset.object_id' в 'предложении where'
Как я могу заставить его работать?
Спасибо!
РЕДАКТИРОВАТЬ: я мог бы обойти проблему, если бы я мог найти альтернативный способ включить родителей в сортировку в запросе. Есть ли такой способ?