LEFT JOIN

时间:2016-07-21 20:13:39

标签: sql ms-access join

我正在尝试在MS Access SQL中运行Left Join。我正试图离开加入我的" OldPE"表到新的" 1 PE"表并更新标有" Line Num"的列。这些表中没有主键,因此我通过一系列条件链接它们。这是我到目前为止的代码(原谅我的新格式很差,还在学习SQL)。

UPDATE [1 PE]
LEFT JOIN OldPE ON ([1 PE].SumRes = OldPE.SumRes)  
AND ([1 PE].[Project Code] = OldPE.[Project Code]) 
AND ([1 PE].[DeptID] = OldPE.[DeptID]) 
AND ([1 PE].[Res Code] = OldPe.[Res Code]) 
AND ([1 PE].[Explain The Cost] LIKE OldPE.[Explain The Cost]) 
AND ([1 PE].Notes LIKE OldPE.Notes)  
SET [1 PE].[Line Num] = [OldPE].[Line Num];

有许多行在"解释成本"中有空值或空值。和"笔记"列。我使用了一个类似的声明,因为我想要的一些音符因拼写错误而略有不同。但是现在我使用"喜欢"它不会为这些列返回空值的行。 SQL代码不会接受WHERE EXISTS(我也可能只是写错了)。

如何在使用Like命令

时仍然返回这些空值

1 个答案:

答案 0 :(得分:0)

如果为空,则使用ISNULL连接回原始值。 (这将包括结果中的空值。)

 AND ([1 PE].[Explain The Cost] LIKE ISNULL(OldPE.[Explain The Cost],[1 PE].[Explain The Cost]))