【问题标题】:Add Heading to a group of columns in Oracle SQL将标题添加到 Oracle SQL 中的一组列
【发布时间】:2019-02-28 11:49:04
【问题描述】:

甲骨文 11g。 Oracle Apex 5.1

我需要在不合并数据的情况下合并列,并在 Oracle Apex 交互式报表中添加列标题。

例如 我有一张这样的桌子:

我想要这样的表格输出:

如何实现报表选择语句的输出? 如果我在 Oracle Apex 交互式报告中使用以下查询:

TITLE LEFT '    amount_column       Quantity_column'
SELECT Date, Amount1, Amount2, Amount3, Quantity1, Quantity2
FROM   table_name;

我收到错误:ORA-20001:查询必须以 SELECT 或 WITH 开头。

【问题讨论】:

  • 查询中的不同行不能有不同数量的列。除非您将输出生成为 HTML,否则我认为这是不可能的。这是您的表示层应该做的事情,而不是数据库。

标签: oracle-sqldeveloper oracle-apex oracle-apex-5.1


【解决方案1】:

在 oracle Apex 5.1 中,我们可以在 Interactive Grid(IG) 中创建此类组。 要创建组,步骤如下: 转到 IG 的属性 -> 创建组 -> 为组添加名称。

要在列上分配组,步骤如下: 转到特定列名 -> 在布局属性下 -> 选择组名

保存并运行页面,它会工作。

【讨论】:

    【解决方案2】:

    如果您正在运行查询以获取 SQL/Plus 样式的文本输出(在 SQL Developer 中使用 Crtl-F5 / run-as-script),那么您可以使用formatting SQL*Plus reports 的命令例如COLUMNTTITLE 使其看起来像您想要的结果:

    类似的东西(未经测试):

    COLUMN "Date"    FORMAT A9
    COLUMN Amount1   FORMAT 9999.99
    COLUMN Amount2   FORMAT 9999.99
    COLUMN Amount3   FORMAT 9999.99
    COLUMN Quantity1 FORMAT 999999999
    COLUMN Quantity2 FORMAT 999999999
    TTITLE LEFT '              Amount column       Quantity Column'
    SELECT "Date", Amount1, Amount2, Amount3, Quantity1, Quantity2
    FROM   table_name;
    

    如果您想在网格中执行此操作(使用 F5 在 SQL Developer 中运行查询),那么您很不走运并且不可能。

    【讨论】:

    • 您并非不走运,只是在错误的表示层中 - 在 APEX 中构建您的报告
    • 我已经在 Oracle Apex 中解决了这个问题。谢谢。 :)
    • @ParulJ 如果您有问题的解决方案,那么您可以将其作为答案发布(并接受),以便其他人也可以从解决方案中受益。
    猜你喜欢
    • 2014-05-26
    • 2022-11-28
    • 2021-12-03
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多