【发布时间】:2014-09-20 14:31:34
【问题描述】:
在 Oracle 10g 中,我有以下分层表:
corp_id, parent_corp_id, col1, col2, col3
我想展平结构,以便我们获得第一行的数据,其中 col1 OR col2 OR col3 不为空。
例如,假设我有:
corp_id = 1
parent_corp_id = null
col1 = 5
col2 = NULL
col3 = NULL
corp_id = 3
parent_corp_id = 1
col1 = NULL
col2 = NULL
col3 = NULL
这个查询的结果会给我:
corp_id, parent_corp_id, col1, col2, col3
3 , 1 , 5 , NULL, NULL
另一种情况: 假设我把 col2 = 6 where corp_id = 3
那么,结果集应该是:
corp_id, parent_corp_id, col1, col2, col3
3 , 1 , NULL, 6, NULL
换句话说,如果孩子在这三列之一中有数据,我们会抓取它。否则,我们尝试父母等等。深度不应超过 3 层,但可以有 3 层可供研究。
对分层查询很陌生,如果这是一个初级问题,请原谅我。
【问题讨论】:
标签: sql oracle hierarchy connect-by