3
select (SELECT * FROM TABLE(or_in_list_fn('FV52,1101'))) plant_cd from dual

返回

ORA-01427: 单行子查询返回多于一行

where or_in_list_fn returns
FV52
1101

我需要输出

   Plant_cd
   ---------------
   FV52
   1101
4

3 回答 3

1

尝试这个:

SELECT column_value AS plant_cd FROM TABLE(or_in_list_fn('FV52,1101'))
于 2012-11-26T17:45:14.873 回答
0

而不是从另一个选择返回数据,直接使用内部查询,因为你没有在外部选择中做任何事情

SELECT * FROM TABLE(or_in_list_fn('FV52,1101'))

如果您想在外部选择中进行一些过滤或与另一个表连接,请在查询的 from 子句中使用它,如下所示:

select plant_cd.* from (SELECT * FROM TABLE(or_in_list_fn('FV52,1101'))) plant_cd
于 2012-11-26T13:11:42.937 回答
0

您需要让您的子查询返回 1 行和 1 个字段。您可以使用max()

select (SELECT max(yourfield) FROM TABLE(or_in_list_fn('FV52,1101'))) plant_cd from dual
于 2012-11-26T10:50:51.017 回答