У меня есть 4 таблицы:
categories - id, position
subcategories - id, categories_id, position
sub_subcategories - id, subcategories_id, position
product - id, sub_subcategories_id, prod_pos
Сейчас я делаю тесты, чтобы выяснить, что не так с моим запросом.
Итак, я хочу выбрать sub_subcategories и получить что-то вроде этого:
[[1,2,3,4,5,6], [1,2,3,4,5,6,7]], [[1,2,3,4,5,6], [1,2,3,4]]
Каждый [] означает: большие категории, маленькие - подкатегории, а числа - в подкатегориях. Я хочу, чтобы [] упорядочил их по полю "position", поэтому запрос:
SELECT id FROM sub_subcategories_id
WHERE subcategories_id IN (
SELECT id
FROM subcategories_id
WHERE categories_id IN (
SELECT id FROM categories
WHERE id = 'X' ORDER BY position)
ORDER BY position)
ORDER BY position
как-то не так, потому что я получаю:
1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,7
Не знаю, почему - последняя "позиция ORDER BY" уничтожает все?