2014-09-24 2 views
-1

Таблица A имеет совокупность имен и уникальных идентификаторов. Таблица B имеет те же уникальные идентификаторы и имена. Большинство имен в таблице B являются пустыми, но некоторые имеют обновленное имя. Я хочу объединить две таблицы, чтобы получить старые имена из таблицы A и новые имена из таблицы B, если они существуют. В основном таблица уровней B в верхней части таблицы A, чтобы фиксировать изменения имен.Как я могу объединить 2 таблицы доступа, сохраняя все данные из таблицы a и обновленные данные из таблицы b

Я сделал что-то подобное в sas, но у меня проблема в Access. слияние через sas больше не является вариантом. это можно сделать при доступе?

ответ

0

Вы можете сделать это в SQL с помощью функций IIF и ISNULL, чтобы выбрать имя из правильной таблицы (из таблицы А, если TableB имеет значение NULL, в противном случае из TableB). Если ваши таблицы имеют два поля: (id, the_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