当整列为 0 或 null 时,有没有办法可以隐藏 Oracle View 数据透视表中的列?

Posted

技术标签:

【中文标题】当整列为 0 或 null 时,有没有办法可以隐藏 Oracle View 数据透视表中的列?【英文标题】:Is there is a way can hide the column in a Oracle View pivot when the whole column are 0 or null? 【发布时间】:2020-06-01 17:01:59 【问题描述】:

所以在 Oracle DB 中我运行这个查询:

  SELECT * FROM (
SELECT
    WHSE,
    OLNTYPE,
    zone,
    LOCNID,
    COUNT(LOCN_BRCD) AS TOTLOCNS
    FROM IC_MST_NUTSANDBOLTS
    GROUP BY WHSE,
             OLNTYPE,
             ZONE,
             LOCNID
    ORDER BY OLNTYPE
                ) c1
PIVOT(
    COUNT(LOCNID)
    FOR (ZONE) IN
(null,
'G2',
'H2',
'P2',
'F2',
'DA',
'P3',
'A1',
'H5',
'C1',
'F1',
'P1',
'FR',
'D1',
'F3',
'G3',
'MP',
'R1',
'H1',
'H6',
'G5',
'G1',
'M1',
'B1'));

这是查询结果:

我想为此创建一个视图,但结果是某些列的值完全为 0。

那么有没有办法可以隐藏一列,或者如果整列都是 0 则不显示?

【问题讨论】:

【参考方案1】:

这里回答了同样的问题Hide column if any value is null or zero via proc sql or view

除非使用动态 SQL,否则无法动态隐藏列。 这很快就变得复杂了:如果零在不同行的不同列中怎么办?输出应该是什么

如果零/空值在同一列中,则可以通过不选择来“隐藏”一列。

【讨论】:

你不能用一个查询做你想做的事,至少在没有一个非常困难的动态查询的情况下是这样。但是您似乎正在使用 SQL Developer,您可以在结果网格中执行您想要的操作。右键单击结果列上方的标题区域。这将弹出一个对话框选项弓,单击列... 您可以选择隐藏或显示您选择的列。不利的一面是,它是列选择而不是过滤器。您必须提供过滤;通过了解列内容

以上是关于当整列为 0 或 null 时,有没有办法可以隐藏 Oracle View 数据透视表中的列?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法用 css 或 jquery 删除或隐藏图像的一部分

MySQL:选择列为空的行

有没有办法在 xaml 中隐藏 ListView?

Azure 表存储更新使列为 Null

有没有办法隐藏标准的 Facebook 聊天栏(无需离线)?

有没有办法在 php 中隐藏加密密钥或算法?