我有两张桌子。
项: - rowid号码 - categoryid编号(类别rowid的外键)
类别: - rowid号码 - parentid号码(此表的rowid的外键
事物是一个项目有一个类别,一个类别可以递归地具有子类别。这样,如果我有以下表格:
items
0 - 3
1 - 4
categories
1 - null
2 - 1
3 - 2
4 - null
这意味着项目0的类别是3,它是类别2的子组,它是类别1的子组。而项目1的类别是4,没有更多级别。
我想要一个返回item的rowid,最低级别类别和每个类别级别的另一列的查询
item.rowid categories.rowid
0 | 3 | 2 | 1
1 | 4
或者至少
0 | 3,2,1
1 | 4
我的问题来自递归性和动态数量的列作为第一种情况下的响应。
我希望在sql级别完成此操作的原因是因为最终结果将按类别排序,并且我想让PostgreSQL服务器负责它。
非常感谢任何帮助。谢谢!