sql - 我怎样才能做到这一点?
问题描述
下面是数据集
P1 A1 N1
null null 0
2776646 2776621 1
2776646 2776622 2
2776642 2776645 3
2776642 2776648 4
2776642 2776649 5
2776642 2776647 6
2776642 2776646 7
0 2776641
0 2776642
我需要在此处添加另一列,称为 parent_n1,它将具有 N1 中的值,属于 A1 的父级 (P1)。例如:
对于 A1.2776621 P1 = 2776646 和 A1 2776646 = N1.7,因此该行的 parent_n1 变为 7。同样,查询应为每一行返回以下输出:
P1 A1 N1 Parent_N1
null null 0 0
2776646 2776621 1 7
2776646 2776622 2 7
2776642 2776645 3 9
2776642 2776648 4 9
2776642 2776649 5 9
2776642 2776647 6 9
2776642 2776646 7 9
0 2776641 8 0
0 2776642 9 0
任何帮助将不胜感激。
解决方案
您可以自行加入表:
select
t.*,
coalesce(p.n1, 0) parent_n1
from mytable t
left join mytable p on p.a1 = t.p1
P1 | A1 | N1 | PARENT_N1 ------: | ------: | -: | --------: 空| 空| 0 | 0 2776646 | 2776621 | 1 | 7 2776646 | 2776622 | 2 | 7 2776642 | 2776645 | 3 | 9 2776642 | 2776648 | 4 | 9 2776642 | 2776649 | 5 | 9 2776642 | 2776647 | 6 | 9 2776642 | 2776646 | 7 | 9 0 | 2776641 | 8 | 0 0 | 2776642 | 9 | 0
推荐阅读
- r - Rstudio 西班牙语拼写检查器
- jquery - 禁用用户能够点击 li 元素
- angular - 如何在 Angular 5 中测试简单的求和方法?
- ajax - jQuery Ajax 从 asp.net 核心控制器的 POST 操作返回未定义的结果
- c++ - Qt - 如何在拖动项目时显示图像/图标/数据?
- c# - 将 json 反序列化为 KeyValue 对列表
- python - 从 ForeignKey 中获取值并对其求和。姜戈
- php - 在下载完成之前,PHP 下载脚本无法导航到其他页面
- javascript - HTML 文档中的不可见脚本标记,其中包含 websockets 代码
- visual-studio - 使用 VS 2017 发布 Web 部署不会删除文件