SQL请求的顺序结果如何按层次结构级别

时间:2010-10-13 11:18:08

标签: java sql

我是Java应用程序的上下文我正在使用SQLIte来保存一些数据。我的一个SQL表具有以下结构

CREATE TABLE containers (ID INT PRIMARY KEY, NAME TEXT, PARENT_ID INT)

我需要按层次结构级别检索所有容器 ORDERED 。我想先没有父母的所有容器(PARENT_ID == -1),然后是1祖先,然后是2祖先等......

有没有办法用SQL请求(如下所示)以这种方式排序ResultSet对象。

SELECT * from container ORDER BY (**"What to put here ???"**)

编辑 我知道我以后可以用Java做到这一点,但我对此解决方案不感兴趣。

1 个答案:

答案 0 :(得分:3)

在标准SQL中无法直接实现此目的。 Oracle具有“start with”,“connect by”语法,并通过“level”支持它。

或者,如果您可以重新构建数据,则可以改为使用嵌套集:http://en.wikipedia.org/wiki/Nested_set_model