当整个列为0或null时,有没有一种方法可以在oracle视图透视中隐藏该列?

jslywgbw  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(410)

因此,在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,就不显示?

3z6pesqy

3z6pesqy1#

同样的问题也在这里得到了回答:通过proc隐藏列中的值是否为null或零
sql或视图
除非使用动态sql,否则不能动态隐藏列。这很快就会变得复杂:如果零在不同行的不同列中呢?输出应该是什么
如果零/空在同一列中,则可以通过不选择列来“隐藏”列。

相关问题