【发布时间】:2020-09-01 02:28:30
【问题描述】:
编辑:这篇文章与 Oracle 有关,要求 sql 表达式满足以下要求。
我有一个要求,其中有一个名为 data 的表:
DATA_ID
APP_ID
COLUMN_1
COLUMN_2
COLUMN_3
我必须编写一个查询,根据 app_id 将列标题名称替换为 DATA_HEADER 表中的名称。
因此,如果 app_id=1,则列将是:
COLUMN_1 :> Name
COLUMN_2 :> Status
COLUMN_3 :> Assigned
如果 app_id=2,列将是:
COLUMN_1 :> Title
COLUMN_2 :> Status
COLUMN_3 :> Title_New
应该有额外的条件,如果 data_header 中没有名称,它将坚持使用原始列名,即 COLUMN_1,COLUMN_2,COLUMN_3,因为根据 app_ids,将来根据 app_id 将有更多/更少的列标题可用。所以如果列标题存在,它应该替换,否则保持原始。
这 2 个表将根据 APP_ID 进行连接。
【问题讨论】:
-
解决方案取决于您要在哪里运行此查询。在 apex 中,报告的标题是区域属性。我不知道如何动态获取 sqlplus 中的列标题。如果您解释业务需求会有所帮助...
-
在 apex 中,我如何将这些添加到列标题?在顶点中,我从数据中创建了一个 IG 选择 col01...col03;然后说 col01,创建页面项目 P1_COL1 并为项目写查询。从 id=1 和 app_id=:app_id 的 data_header 中选择 header_name。现在我将如何将此页面项目分配给交互式网格中的列? (顶点要求需要在IG上完成)
-
我在下面的答案中描述了它?正如有人在另一个问题中建议的那样,如果您在 apex.oracle.com 上的测试工作区中创建了一个示例应用程序,这将非常有帮助,以便我们查看它。
-
虽然对于 P4_APP_ID,在原始应用程序中有太多我无法复制的 javascript 条件。如果我们能解决它会很棒
-
@KoenLostrie 希望你能登录