SELECT * FROM table WHERE field IN (SELECT id FROM table ORDER BY field2)

sux0r

New Member
I have 4 tables:\[code\]categories - id, positionsubcategories - id, categories_id, positionsub_subcategories - id, subcategories_id, positionproduct - id, sub_subcategories_id, prod_pos\[/code\]Now I'm doing tests to find out what's wrong with my query.So i want to select sub_subcategories, and to get someting like that:\[code\][[1,2,3,4,5,6], [1,2,3,4,5,6,7]], [[1,2,3,4,5,6], [1,2,3,4]]\[/code\]Each [] means: big - categories, small - subcategory, and the numbers are position in sub_subcategories. I want the [] to order by their "position" field, so query:\[code\]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\[/code\]is somehow wrong, because I get:\[code\]1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,7\[/code\]Dunno why - does last "ORDER BY position" destroy everything?
 
Back
Top