Sql 左连接为空
试图从几年的错误决策中清理出一堆数据库中的混乱。使用下面的示例,我们有一个来自“X”的字段,它链接到一个来自“Y”的字段。问题是,“X”还被用来链接到一个遗留系统,并保存了这两个系统的记录Z'可能包含一个备用链接,如果第一个连接为空,我想使用它…我不知道如何“高效地”创建这个链接,而不在临时表中运行两个单独的查询?谢谢Sql 左连接为空,sql,left-join,isnull,Sql,Left Join,Isnull,试图从几年的错误决策中清理出一堆数据库中的混乱。使用下面的示例,我们有一个来自“X”的字段,它链接到一个来自“Y”的字段。问题是,“X”还被用来链接到一个遗留系统,并保存了这两个系统的记录Z'可能包含一个备用链接,如果第一个连接为空,我想使用它…我不知道如何“高效地”创建这个链接,而不在临时表中运行两个单独的查询?谢谢 FROM dbo.x X LEFT JOIN (SELECT Y.id, Z.varnum FROM dbo.y Y LEFT JOIN d
FROM dbo.x X
LEFT JOIN (SELECT Y.id, Z.varnum
FROM dbo.y Y
LEFT JOIN dbo.Z
ON Y.id = Z.varnum) W
ON X.id = ISNULL(W.id,W.varnum)
在select和两个left联接中使用合并函数
SELECT COALESCE(Y.ID, Z.VARNUM) FROM X
LEFT JOIN Y on X.ID = Y.ID
LEFT JOIN Z on X.ID = Z.VARNUM
为了澄清,您首先要将X连接到Y,如果找不到匹配项,请将X连接到Z?