2013-02-25 2 views
2

Я использую следующий код, чтобы объединить несколько таблиц в 1 одной таблице под названием DB_Total:Проверка обновления уже прошла в ACCESS

INSERT INTO DB_Total 
SELECT * 
FROM Tags_DI_DB; 

Но, если я (случайно) выполнить этот запрос в два или три раз данные просто складываются. Есть ли возможность проверить, нет ли таблицы, добавленной в новом «мастер-таблице», DB_Total?

+0

Если вы, по крайней мере, один (если не комбинация) первичных ключей на вашем столе, то это будет препятствовать записи из вставляется несколько раз. –

ответ

6
INSERT INTO DB_TOTAL 
SELECT a.* 
FROM Tags_DI_DB a 
     LEFT JOIN DB_TOTAL b 
      ON a.colName = b.colName 
WHERE b.colName IS NULL 

где colName это уникальный столбец

+0

Я не думаю, что получаю это. Вы проверяете, является ли a.colName = NULL? – Gutanoth

+0

@Gutanoth когда 'b.colName IS NULL', что означает, что запись не существует еще уплотнительное стол' DB_TOTAL' –

+0

Так что, если у меня есть столбец с именем«NAME»мой код должен выглядеть следующим образом: INSERT INTO DB_TOTAL ВЫБОР * FROM Tags_DI_DB a LEFT JOIN DB_TOTAL b ON a.NAME = b.NAME WHERE b.NAME NULL – Gutanoth

Смежные вопросы