Oracle如何查询某个组织下的所有部门,如果该部门存在上级,就显示上级部门的名称。

想用oracle语句实现
现有一张表,部门表org_dept,
字段有:
pk_dept 部门主键 varchar(20) 主键 (UFID)
code 编码 code varchar(40) 字符串 (String)
name 名称 name varchar(200) 多语文本 (MultiLangText)
pk_fatherorg 上级部门 varchar(20) 组织_部门 (org_dept) //上级部门如果存在,pk_dept=pk_fatherorg
pk_org 所属业务单元 varchar(20) 组织 (org_orgs) //pk_org是org_orgs表的主键

想实现当pk_org=某个组织主键时,查询该组织下的所有部门,及上级部门(如果存在上级部门),
查询效果大概如下:

pk_dept code name 上级部门主键 上级部门名称
1001A31000000000Q4LE 0101 宣传 1001A31000000000Q4LB 市场部
1001A31000000000Q4LG 010101 编辑科 1001A31000000000Q4LE 宣传
1001A31000000000Q4NV 03 办公室 ~
1001A31000000000Q4LJ 02 财务部 ~
1001A31000000000Q4SL 010102 杂志 1001A31000000000Q4LE 宣传
1001A31000000000Q4LB 01 市场部 ~

百度一大堆啊

img