SQL Query比较所有匹配的记录

时间:2016-09-28 07:15:35

标签: sql sql-server

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

例如:如果我的表具有包含100条记录的列FirstName,我需要检查所有记录是否有效(非空或非空)记录假设第99条记录为空然后我需要检查LastName列并将其分配给变量。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以使用CASE

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

答案 1 :(得分:0)

您可以使用If exists来确定列是否有效:

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