从父列 id 获取父列值
Posted
技术标签:
【中文标题】从父列 id 获取父列值【英文标题】:Get parent column value from parent column id 【发布时间】:2020-08-05 16:07:35 【问题描述】:我正在尝试从父 id 获取数据并从查询中获取PARENT_CODE
结果(来自CD_CODE
列),根据父列它等于主 id。但我不知道我该怎么做,我看到并阅读了有关使用 CONNECT BY PRIOR 的信息,但我没有成功。
我的桌子:
ID PARENT_ID CD_CODE
-------------------------------
675 9000000000000
676 2000000000001
677 6000000000003
678 1000000000006
679 676 2100000000008
680 677 6400000000009
681 677 6300000000002
682 678 1200000000009
683 677 6100000000000
684 676 2200000000004
685 675 9100000000006
我需要的是获取 PARENT_CODE(但此列不存在):
ID PARENT_ID PARENT_CODE CD_CODE
----------------------------------------------
675 9000000000000
676 2000000000001
677 6000000000003
678 1000000000006
679 676 2000000000001 2100000000008
680 677 6000000000003 6400000000009
681 677 6000000000003 6300000000002
682 678 1000000000006 1200000000009
683 677 6000000000003 6100000000000
684 676 2000000000001 2200000000004
685 675 9000000000000 9100000000006
SQL语句:
SELECT ID, PARENT_ID, CD_CODE
FROM MY_TABLE
【问题讨论】:
【参考方案1】:这是一个自加入:
select t.*, p.cd_code parent_code
from mytable t
left join mytable p on p.id = t.parent_id
【讨论】:
感谢@GMB!没想到self join,其实是一个很简单的解决方案,非常感谢。以上是关于从父列 id 获取父列值的主要内容,如果未能解决你的问题,请参考以下文章