我需要以动态方式在子查询的结果上添加虚拟列。我需要在嵌套表NT中为子查询的每个结果添加N个虚拟列作为N值。我的意思是,例如,我有一个包含7个结果的嵌套表NT,即
nt = {'one','two','three','four','five','six','seven'}
以及返回30个结果的子查询(select),即:
FROM{
----- SUBQUERY WITH 30 RESULTS ------
}
子查询结果:
ID|NAME|SURNAME|
1|JACK|BROWN|
2|BRAD|PITT|
3|ROBBIE|WILLIAMS|
.
.
.
30|JOHNNY|DEPP|
我想为子查询结果的每个元素添加一列,即嵌套表值的列。我的意思是,最后我想要一个子查询结果行*嵌套表值=30*7=210行,以动态方式获得,因为嵌套表可以升级。最后我想得到这样的东西:
ID|NAME|SURNAME|nt_value
1|JACK|BROWN|one
1|JACK|BROWN|two
1|JACK|BROWN|three
.
.
.
1|JACK|BROWN|seven
2|BRAD|PITT|one
2|BRAD|PITT|two
.
.
.
2|BRAD|PITT|seven
.
.
.
30|JOHNNY|DEPP|one
.
.
.
30|JOHNNY|DEPP|seven
(Main query)
FROM { SELECT id, name, surname, [nt] AS nt_value FROM artist}
(query main continue)
我不想插入PLSQL
FOR...LOOP
循环,因为主查询太大并且有几个子查询,所以我不想
UNION
通过在NT中迭代索引得到的总查询的每个结果