【发布时间】:2014-09-24 23:18:55
【问题描述】:
表 A 有一组名称和唯一 ID。表 B 具有相同的唯一 ID 和名称。表 B 中的大多数名称为空,但有些名称已更新。我想合并这两个表,以便从表 A 中获取旧名称,从表 B 中获取新名称(如果存在)。基本上将表 B 放在表 A 的顶部以捕获名称的更改。
我在 sas 中做过类似的事情,但是在 Access 中遇到了问题。通过 sas 合并不再是一种选择。这可以在访问中完成吗?
【问题讨论】:
表 A 有一组名称和唯一 ID。表 B 具有相同的唯一 ID 和名称。表 B 中的大多数名称为空,但有些名称已更新。我想合并这两个表,以便从表 A 中获取旧名称,从表 B 中获取新名称(如果存在)。基本上将表 B 放在表 A 的顶部以捕获名称的更改。
我在 sas 中做过类似的事情,但是在 Access 中遇到了问题。通过 sas 合并不再是一种选择。这可以在访问中完成吗?
【问题讨论】:
您可以在 SQL 中使用IIF和ISNULL函数从正确的表中选择名称(如果 TableB 为空,则从 TableA 中选择名称,否则从 TableB 中选择名称)。如果您的表有两个字段:(id,the_name)a 查询可能如下所示:
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
【讨论】: