【发布时间】:2011-04-06 06:01:36
【问题描述】:
我有 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]]
每个 [] 表示:大 - 类别,小 - 子类别,数字在 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
不知道为什么 - 最后一个“按位置排序”会破坏一切吗?
【问题讨论】: