我有4个表:SELECT * FROM表WHERE领域IN(SELECT ID FROM表ORDER BY域2)
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 2010-08-31 12:21:57