PL / SQL ORDER BY WHERE a = b

时间:2015-11-05 15:22:48

标签: sql plsql sql-order-by

我有一张桌子看起来像这样

ID NUMBER,
NAME VARCHAR(2),
Sub_ID

如果不是,则Sub_ID可以为空,它包含ID字段中的一个数字。 数据看起来像这样。

ID      NAME              SUB_ID
1       A      
2       B                   1  
3       C                   1  
4       D                   3
5       E                   2
6       F                   1
7       G                   6

我希望它像这样排序

        ID      NAME                 SUB_ID
            1       A      
            2       B                   1  
            5       E                   2
            3       C                   1  
            4       D                   3
            6       F                   1
            7       G                   6

我试图像这样排序

ORDER BY ID ASC, Sub_ID ASC

但是这并没有起作用,这就是为什么我正在寻找一种方法来排序这样的事情。

ORDER BY WHERE(ID ASC=Sub_ID) ASC

1 个答案:

答案 0 :(得分:2)

connect by与[{1}}之类的声音可能就是您之后的目标:

order siblings by