在SQL中,如何选择没有0值的列?

时间:2017-02-10 16:46:24

标签: sql sql-server

我有透视查询,这将产生一行记录。我将不得不进一步过滤那一行记录。一行记录具有基于小时的列,因此,我每小时有24列。

如何选择仅具有值

的列

让我们说我们有5列

Col1    Col2     Col3  Col4   Col5
100       0            0      20      0

Col1,Col4符合条件。我需要总共这两列。

Col1  Col4      Total
100    20          120



create table #t
(
Col0 int,
Col1 int,
Col2 int,
Col3 int,
Col4 int,
Col5 int,
Col6 int,
Col7 int,
Col8 int,
Col9 int,
Col10 int,
Col11 int

)



insert into #t values
(0,100,0,0,0,0,20,10,0,0,0,0)

select * from #t
-- Expected Result

select Col1, Col6, Col7 from #t

1 个答案:

答案 0 :(得分:1)

你不能使用静态数据透视表,动态也许这样做。如果定义了一个数据透视表,如果所有值都为null,并且数据在其中传输的时间太晚,则不知道何时定义数据透视表。您可以创建支持省略空列组的报告项目,也可以查找更具动态性的查询备选方案。