1

我有下表:

Col1    Col2    Col3    Col4    Col5    Col6    Col7
=====================================================
XYZ             GH      JY              IOP 
GH      TY                                      HGF
                TR              OPY     

我想编写一个 SQL 查询,它将检查NULL每一行中的值并将具有NULL值的列名显示到一个名为“缺失值”的新列中。

所以输出将如下所示:

Missing Value 
=============
Col2,Col5,Col7
Col3,Col4,Col5,Col6
Col1,Col2,Col4,Col6,Col7
4

2 回答 2

1

如果您希望结果以逗号分隔,您可以在@Randy 的回答中尝试这种变体:

SELECT
    SUBSTR
    (
        DECODE(COL1, NULL, ',COL1')
        ||
        DECODE(COL2, NULL, ',COL2')
        ||
        DECODE(COL3, NULL, ',COL3')
        ||
        DECODE(COL4, NULL, ',COL4'),
        2
    )
FROM
    YOUR_TABLE
于 2012-12-06T20:28:31.390 回答
1

结构应该工作

select decode( col1, null, 'col1 ' ) 
|| decode( col2, null, 'col2 ' )
|| decode( col3, null, 'col3 ' ) 
from mytable
于 2012-12-06T20:15:07.803 回答