如果列包含null而不提及其名称,如何避免列

时间:2018-04-07 10:40:49

标签: sql sql-server

如果列包含null而不提及其名称

,如何避免使用该列
select * from
   ExmGp a
        inner join
    ExmMstr b
        on a.ETID = b.EID
        inner join 
    ExmMrkntry c
        on b.AcYear = c.Acyear

我正在尝试加入三个不同的表,如上面的代码,但结果有些列为null。是否可以避免使用where where condition?

提前致谢

2 个答案:

答案 0 :(得分:1)

在TSQL中没有内置的语言构造来直接检查行中任何地方的NULL。但是有很多变通方法。

请参阅此问题以获取可能的解决方案 How to count in SQL all fields with null values in one record?

答案 1 :(得分:1)

不,但重要的是要了解原因。

WHERE子句过滤结果集中的而不是列。因此,WHERE或其他任何内容都不支持您提出的要求。

重要的是,SQL查询以表格格式返回数据。此格式指定结果集中的列。这些列不能是动态的;它们是为查询修复的(除非你构造一个字符串来执行查询)。

因此,您将“卡住”SELECT中指定的所有列。我建议您列出所需的每个列,而不是使用SELECT *