Объединение таблиц в доступе

У меня есть файл базы данных MS Access с двумя таблицами: t1, t2. Оба имеют первичный ключ, предположим, id, но t1 имеет 3 столбца A, B и C, а t2 имеет столбцы D, E и F.

Оба имеют одинаковые строки, но каждый имеет разные столбцы, как указано.

Как проще всего объединить эти две таблицы? Обратите внимание, что они очень большие, и экспорт в Excel, CSV и тому подобное неприемлем.


person Yuval Adam    schedule 15.03.2009    source источник


Ответы (3)


Если вы вставляете SQL так:

SELECT t1.ID, t1.a, t1.b, t1.c, t2.d, t2.e, t2.f 
INTO t0
FROM t1 INNER JOIN t2 ON t1.ID = t2.ID;

В представлении SQL окна разработки запроса в Access у вас будет запрос на создание таблицы, который создаст t0 из t1 и t2.

person Fionnuala    schedule 15.03.2009

Все это можно сделать, используя только графический интерфейс Access.

а. Отредактируйте t1 и добавьте два новых столбца.

б. В режиме разработки Querydef для Update querydef откройте обе таблицы и соедините их по идентификатору.

в. Обновите два новых столбца в t1 теми же двумя из t2.

д. Выполните запрос (F5).

Готово!

person dkretz    schedule 15.03.2009

поддерживает ли доступ профсоюзы?

select a,b,c from t1
union
select d as a, e as b and f as c from t2
person Riho    schedule 15.03.2009
comment
Доступ ничего не поддерживает. Jet SQL поддерживает UNION. - person David-W-Fenton; 16.03.2009
comment
Механизм доступа к данным (ACE) действительно поддерживает UNION, и в собственной документации Microsoft указано, что оператор UNION применяется к Access2007 (office.microsoft.com/en-gb/access/HA012315211033.aspx). - person onedaywhen; 16.03.2009