Sql 基于带条件的两个表的视图

Sql 基于带条件的两个表的视图,sql,sql-server-2012,Sql,Sql Server 2012,希望你能帮我解答这个问题 我有两个表,我想从中生成视图,但我希望根据某些条件来实现 所以基本上我希望有一个视图,它使用tbl02覆盖tbl01中现有ldap的级别 类似于如果user02存在于TBL02中,则使用它的级别而不是tbl01的级别。只需使用连接并从第二个表中获取级别,我相信它会成功 SELECT a.ldap, b.lvl, a.Firstname, a.Lastname FROM TBL01 a JOIN TBL02 b ON a.ldap = b.ldap 只要使用一个连接并从

希望你能帮我解答这个问题

我有两个表,我想从中生成视图,但我希望根据某些条件来实现

所以基本上我希望有一个视图,它使用tbl02覆盖tbl01中现有ldap的级别


类似于如果user02存在于TBL02中,则使用它的级别而不是tbl01的级别。

只需使用连接并从第二个表中获取级别,我相信它会成功

SELECT a.ldap, b.lvl, a.Firstname, a.Lastname FROM TBL01 a JOIN TBL02 b ON a.ldap = b.ldap

只要使用一个连接并从第二个表中获取级别,我相信它会成功

SELECT a.ldap, b.lvl, a.Firstname, a.Lastname FROM TBL01 a JOIN TBL02 b ON a.ldap = b.ldap

只需使用左外部联接并使用ISNULL来显示来自TBL02的lvl,除非它不存在,然后改用来自TBL01的lvl

SELECT TBL01.ldap, ISNULL(TBL02.lvl, TBL01.lvl), TBL01.Firstname, TBL01.LastName
FROM TBL01
LEFT OUTER JOIN TBL02 ON TBL01.ldap = TBL02.ldap

只需使用左外部联接并使用ISNULL来显示来自TBL02的lvl,除非它不存在,然后改用来自TBL01的lvl

SELECT TBL01.ldap, ISNULL(TBL02.lvl, TBL01.lvl), TBL01.Firstname, TBL01.LastName
FROM TBL01
LEFT OUTER JOIN TBL02 ON TBL01.ldap = TBL02.ldap