基于PL/SQL函数体返回SQL查询的IR。
如何基于多个表和不同的列名创建交互式报表。
Exp :-选择列表项返回三个值1或2或3
和函数返回基于选择列表值查询
当值等于1时
Select name,satate,country_id from cities
当值等于2时返回
选择国家/地区,id来自国家/地区
当值等于3时返回
从海洋中选择海洋,oc_id,
这三个查询返回不同列名和值。
发布于 2019-12-23 23:02:13
好的,首先,你的问题写得很糟糕。但据我所知,您需要一个根据输入返回不同内容的SQL查询。
我认为你甚至不需要plsql函数体来做这件事。
只需像这样做:
SELECT * FROM
(SELECT name as name,
state as state,
country_id as id,
1 as value
FROM cities
UNION ALL
SELECT country as name,
NULL as state,
id as id,
2 as value
FROM country
UNION ALL
SELECT ocean as name,
NULL as state,
oc_id as id,
3 as value
FROM oceans)
WHERE value = :input_parameter_value;因为如果您试图显示可变数量的列,并不断更改它们的名称等等。你会有一个糟糕的时间,这是可以做到的,就像所有的事情一样。但是afaik并不是很简单
发布于 2019-12-24 00:14:40
没有人反对@TineO在他们的回答中说的话,我可能会这样做。
不过,还有另一种选择:如果您的Apex版本允许,您可以在同一页上创建三个交互式报表区域,每个区域从自己的表中选择值,并保留自己的列标签。
然后为每个区域创建一个服务器条件函数;它的类型将是返回布尔值的函数,如下所示
return :P1_LIST_ITEM = 1;对于第一个区域;第二个区域为= 2,第三个区域为= 3。
运行该页时,不会显示任何内容,因为P1_LIST_ITEM没有值。一旦您设置了它,就会满足其中一个条件,并显示相应的区域。
https://stackoverflow.com/questions/59457067
复制相似问题