sql多个join,集合

时间:2014-11-03 11:35:51

标签: sql oracle plsql

我的视图输出类似。

输入CE1的

V1

Costcode    itemcode    costcode
CE1     ITEM1       CE2
CE1     ITEM2       CE3
CE1     ITEM3       --

如果我用输入CE2

执行V1,那么又一次
Costcode    itemcode    costcode
CE2     ITEM4       CE4
CE2     ITEM5       --
CE2     ITEM6       --

如果我用输入CE4

执行V1,那么又一次
Costcode    itemcode    costcode
CE4     ITEM7       --
CE4     ITEM8       --

如果我用输入CE3

执行V1,那么又一次
Costcode    itemcode    costcode
CE3     ITEM9       --
CE3     ITEM10      --

如何获得

之类的输出
Costcode    itemcode    costcode
CE1     ITEM1       CE2
CE1     ITEM2       CE3
CE2     ITEM4       CE4

并且

Costcode    itemcode    costcode
CE1     ITEM3       --
CE2     ITEM5       --
CE2     ITEM6       --
CE4     ITEM7       --
CE4     ITEM8       --
CE3     ITEM9       --
CE3     ITEM10      --

如何在SQL或PLSQL中获得此输出?以及如何通过更改costcode的最后一个columna的条件,多次执行View V1来获得这样的输出。意思是我想要树直到最后一个成本代码。

1 个答案:

答案 0 :(得分:0)

查询1:

select costcode, itemcode, costcode from v1 where costcode is not null;

查询2:

select costcode, itemcode, costcode from v1 where costcode is null;