如何合并2个访问表,保留表a中的所有数据和表b中的更新数据

时间:2014-09-24 23:18:56

标签: sql merge access-vba

表A有一组名称和唯一ID。表B具有相同的唯一ID和名称。表B中的大多数名称都是null,但有些名称具有更新的名称。我想合并这两个表,所以我得到表A中的旧名称和表B中的新名称(如果它们存在)。基本上是表A顶部的图层表B,用于捕获名称的更改。

我在sas中做过类似的事情,但在Access中遇到了问题。通过sas合并不再是一种选择。这可以在访问中完成吗?

1 个答案:

答案 0 :(得分:0)

您可以使用IIFISNULL函数在SQL中执行此操作,以从正确的表中选择名称(如果TableB为null,则从TableA中选择,否则从TableB中选择)。如果您的表格包含两个字段:(idthe_name),则查询可能如下所示:

SELECT a.id, IIF(ISNULL(b.the_name), a.the_name, b.the_name) AS the_name
INTO TableC
FROM TableA a
INNER JOIN TableB b ON a.id = b.id