用于删除所有完全空列的SQL查询

时间:2016-09-05 11:35:16

标签: mysql sql

我正在尝试找到一种方法来仅显示其中包含值的列。但由于我的数据库包含几十列,我不想事先指定我需要的列。 我正在寻找一个查询,如:

select * from table_name where column_has_non_null_data_somewhere

示例:

enter image description here

由于

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方式消除所有空值或空值的列。

假设你有;

SELECT * FROM Filter

输出

A       B       C       D
NULL    NULL    NULL    NULL
NULL    1       NULL    NULL
NULL    1       NULL    NULL
NULL    1       NULL    NULL
1       1       0       NULL

<强>尝试:

IF ((SELECT COUNT(A) FROM Filter) < 1)
    SELECT B, C, D FROM Filter
ELSE IF ((SELECT COUNT(B) FROM Filter) < 1)
    SELECT A, C, D FROM Filter
ELSE IF ((SELECT COUNT(C) FROM Filter) < 1)
    SELECT A, B, D FROM Filter
ELSE IF ((SELECT COUNT(D) FROM Filter) < 1)
    SELECT A, B, C FROM Filter

<强>输出:

A       B       C
NULL    NULL    NULL
NULL    1       NULL
NULL    1       NULL
NULL    1       NULL
1       1       0