问题描述
+---------+---------+---------+
| ColumnA | ColumnB | ColumnC |
+---------+---------+---------+
| 2964 | 12814 | 4 |
| 0001 | 0002 | 0 |
| 7745 | 2964 | 0 |
| 0003 | 0004 | 0 |
| 0002 | 0005 | 6 |
| 12986 | 7745 | 0 |
+---------+---------+---------+
基本上,我想要的输出是:
+---------+---------+---------+
| ColumnA | ColumnB | ColumnC |
+---------+---------+---------+
| 12986 | 12814 | 4 |
+---------+---------+---------+
因此,本质上是:
在12745上加入12986 JOIN,然后在2964上加入JOIN,以获得12814。其中ColumnC包含一个值> 0。
我可以做上面的事情,但是我的数据集可以达到数百万个。这样最终将导致太多的连接。我已经尝试过使用HANA的hierarchy_descendants函数。但是我仍然没有得到理想的结果。我确实获得了级别,但是我想使用ColumnA中的ID来获取columnB的相关ID,其中COLUMN
任何帮助将不胜感激。
谢谢。
更新:
我知道我标记了 sql Server 和 Hana ,但认为如果同时包含这两个标签,我可以获得更多解决方案。就所需的结果而言,请参见以下内容:
+---------+---------+---------+
| ColumnA | ColumnB | ColumnC |
+---------+---------+---------+
| 12986 | 12814 | 4 |
| 0001 | 0005 | 6 |
+---------+---------+---------+
所以我们必须双向走。