Ser*_*pia 5 sql oracle select hierarchical-data
例如,我有这个表:
CREATE TABLE perarea
(
id_area INT primary key,
nombre VARCHAR2(200),
id_areapadre INT references perarea(id_area)
);
Run Code Online (Sandbox Code Playgroud)
而不是显示:
1 IT null
2 Recursos Humanos null
3 Contabilidad 2
4 Legal 2
Run Code Online (Sandbox Code Playgroud)
我想要:
1 IT
2 Recursos Humanos
3 Contabilidad Recursos Humanos
4 Legal Recursos Humanos
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
我不能为我的生活弄清楚这个选择会是怎样的.
编辑:
此SQL查询有效,但不会提取NAME,只会提取父级的ID.有帮助吗?
select * from PerArea
connect by id_area = id_areapadre;
Run Code Online (Sandbox Code Playgroud)
作为参考,您也可以使用自联接来执行此操作而无需分层扩展:
SELECT p1.id_area, p1.name, COALESCE(p2.name, '')
FROM perarea p1
LEFT JOIN perarea p2 ON (p1.id_areapadre = p2.id_area)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3843 次 |
| 最近记录: |