Oracle - SQL - TABLE 中的自引用
ORACLE - SQL - SELF REFERENCE IN TABLE
我有 Table ( TABLE A ) 如下所示,
ID INDEX_ID
1 1
2 1.1
3 1.1.1
4 2
5 3
6 3.1
7 3.2
我希望以
这样的方式创建结果集
INDEX PARENT PARENT_ID
1 0 0
1.1 1 1
1.1.1 1.1 2
2 0 0
3 0 0
3.1 3 5
3.2 3 5
请问有人可以直接使用 SQL 得到这个结果集吗?
此致,
南迪
使用自连接:
SELECT t1.INDEX_ID AS INDEX,
COALESCE(t2.INDEX_ID, '0'),
COALESCE(t2.ID, '0')
FROM TABLEA t1
LEFT JOIN TABLEA t2
ON t1.INDEX_ID = SUBSTR(t2.INDEX_ID, 1, INSTR(t2.INDEX_ID, '.', -1) - 1)
我有 Table ( TABLE A ) 如下所示,
ID INDEX_ID
1 1
2 1.1
3 1.1.1
4 2
5 3
6 3.1
7 3.2
我希望以
这样的方式创建结果集INDEX PARENT PARENT_ID
1 0 0
1.1 1 1
1.1.1 1.1 2
2 0 0
3 0 0
3.1 3 5
3.2 3 5
请问有人可以直接使用 SQL 得到这个结果集吗?
此致, 南迪
使用自连接:
SELECT t1.INDEX_ID AS INDEX,
COALESCE(t2.INDEX_ID, '0'),
COALESCE(t2.ID, '0')
FROM TABLEA t1
LEFT JOIN TABLEA t2
ON t1.INDEX_ID = SUBSTR(t2.INDEX_ID, 1, INSTR(t2.INDEX_ID, '.', -1) - 1)