2016-09-28 67 views
-4

如果整个结果集有效,我希望将有效列值分配给变量。因此如果列值有效(非空且不为空),则需要编写用于检查整个结果集的SQL查询,然后将第一列值分配给该变量,否则检查具有相同条件并分配给变量的第二列。用于比较所有匹配记录的SQL查询

例如:如果我的表有100个记录列FirstName,我需要检查是否所有的记录是有效的(非空或不空)记录假设第99条记录是空的,那么我需要检查姓氏列并分配它到一个变量。

在此先感谢。

+2

添加一些样本表数据和预期的结果(以及格式化文本)同时向我们展示您当前的查询尝试。 – jarlh

回答

0

您可以使用CASE

SELECT 
    CASE 
     WHEN FirstName IS NULL OR FirstName = '' THEN ISNULL(LastName, '') 
     ELSE FirstName END 
FROM 
    Tbl 
0

可以使用。如果存在,以确定是否列是有效的:

if not exists (select 1 from table where col1 is null) 
begin 
select top(1) col1 from table 
end