У меня есть 4 таблицы:SELECT * FROM таблицы WHERE поле IN (SELECT ID FROM таблицы ORDER BY field2)
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]]
Каждые [] означает: большой - категория, малая - подкатегория, и номер позиция в sub_subcategories. Я хочу, чтобы [], чтобы заказать их поле "положение", поэтому запрос:
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 положение" уничтожить все?
как TIPP взглянуть на HTTP://dev.mysql.com/tech-resources/articles/hierarchical-data.html – teemitzitrone