lau*_*ura 14 sql sql-server sql-server-2005
我正在生成一个视图,如果它们为null,我想用预定义的值填充单元格.
视图的选择是:
SELECT a_case.Id,
R1.Type AS Referred_by_1,
R1.Type AS Referred_by_2,
R1.Type AS Referred_by_3
FROM dbo.CaseInfo a_case LEFT JOIN
dbo.Referrer R1 ON P.Id = R1.Case_Id AND R1.Seq = 1 LEFT JOIN
dbo.Referrer R2 ON P.Id = R2.Case_Id AND R2.Seq = 2 LEFT JOIN
dbo.Referrer R3 ON P.Id = R3.Case_Id AND R3.Seq = 3
Run Code Online (Sandbox Code Playgroud)
引用者是可选的,如果没有指定,我需要用'ND'填充该字段.
我想我可能应该使用CASE WHEN,但我不确定如何将其整合到现有的选择中......
任何建议都感激不尽! - L.
Kla*_*sen 24
你可以使用ISNULL
:
SELECT a_case.Id,
ISNULL(R1.Type, 'ND') AS Referred_by_1,
ISNULL(R2.Type, 'ND') AS Referred_by_2,
ISNULL(R3.Type, 'ND') AS Referred_by_3
FROM ...
Run Code Online (Sandbox Code Playgroud)
one*_*hen 21
使用COALESCE例如
SELECT a_case.Id,
COALESCE(R1.Type, 'ND') AS Referred_by_1,
COALESCE(R2.Type, 'ND') AS Referred_by_3,
COALESCE(R3.Type, 'ND') AS Referred_by_3
FROM ...
Run Code Online (Sandbox Code Playgroud)