2017-08-19 60 views
0

我已经使用联合查询合并了三个表,并为所有列创建了按功能分组。如何在SQL Server中将可空值更改为非空值?

这里是我的代码:

select 
    Id, 
    Firstname, 
    Mark1, Mark2, Mark3            
from 
    (select 
     Id, Firstname, Null as Mark1, Null as Mark2, Null as Mark3 
    from 
     Parent  
    union                    
    select 
     Id, Null as Firstname, Mark1, Mark2, Null as Mark3 
    from 
     Child     
    union                    
    select 
     Id, Null as Firstname, Null as Mark1, Null as Mark2, Mark3 
    from 
     Mark) t 
where 
    Mark3 is not null                           
group by 
    Id, Firstname, Mark1, Mark2, Mark3 

在这里,我已经设置mark3不是null使用WHERE条件,所以我的问题是如何改变空值不为空的使用WHERE条件的字段的休息吗?

回答

0

从您的查询我建议使用加入,而不是(与空值工会) 那么试试这个

Select parent.Id , parent. firstName, child.mark1,child.mark2,mark.mark3 
From parent 
inner join child on parent.id =child.id 
Inner join mark on mark.id=parent.id 
相关问题