2017-02-14 39 views
0

快速问题,可能有一个二进制答案。如何非特定地过滤NULL值的列?

鉴于以下:

columnA columnB columnC column..? columnZ 
1  2  NULL 2   2 
2  2  NULL NULL  2  
3  NULL  NULL 2   NULL 

有没有一种方法,我可以写一个查询,将只显示没有一个总的合并NULL结果列?类似于:

从x.table中选择(IS NOT NULL)where columnZ = 2;

回报:

columnA columnB column..? columnZ 
1  2  2   2 
2  2  NULL  2  

消除无用columnC其中有没有可用的数据,而无需专门引用它,因为我之前运行查询,我不知道哪些列将包含有用的数据?

干杯!

+1

有没有简单的方法。您只能使用动态SQL来执行此操作,因为SQL查询在'SELECT'中有一组固定的命名列。 –

+0

干杯,我会看看那个。在这一点上,虽然它开始变得越来越过分。我只是不想滚动右堆。 – averagescripter

+0

**为什么**你需要这样做?无论你想要解决什么问题,你认为这是正确的解决方案吗? – mathguy

回答

0

那么你可以做的是运行一个选择语句,其中类别不为空。哪个会返回那个特定类别的非空值的列。或者你运行一个选择语句,其中类别IS NULL,并根据条件删除该列。因为有多个类别你需要检查每个类别。