我正在尝试找到一种方法来仅显示其中包含值的列。但由于我的数据库包含几十列,我不想事先指定我需要的列。 我正在寻找一个查询,如:
select * from table_name where column_has_non_null_data_somewhere
示例:
由于
答案 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