我有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