我有合并两个表的视图。 select 请求的值之一必须位于其中一个表中,另一个必须具有 null 作为此值。作为解决方案,我使用 coalesce
COALESCE(tbl1.Val, tbl2.Val) As Val
我现在正努力从与 Val 相同的表中选择下一个值,因为它们在两个表中可能不同/为 NULL。
我在想什么伪
(if tbl1.Val = NULL then tbl1.Val2 else tbl2.Val2) as Val2
可以用sql函数写吗? (IIF,ISNULL,NULLIF,......可能?)
3 个表会变得多复杂?
输入
tbl1.Val = NULL,
tbl2.Val = NULL,
tbl3.Val = 'VALUE'
tbl1.Val2 = 'NOT THIS ONE',
tbl2.Val2 = 'NOT THIS ONE',
tbl3.Val2 = 'THIS ONE'
期待
Val Val2
'Value' 'THIS ONE'
我试过这样的结构
IIF(tbl1.Val = NULL, tbl1.Val2, tbl2.Val2)
IIF(ISNULL(tbl1.Val, False), tbl1.Val2, tbl2.Val2)