2013-05-24 3 views
0

У меня есть две таблицы, созданные с одинаковой структурой и типом данных. Некоторые значения добавляются в Table1, а некоторые значения добавляются в Table2. Теперь мне нравится как-то ВСТАВИТЬ обе таблицы (синхронизировать их) со значениями, которые они отсутствуют. Я буду использовать Col1 для сравнения двух таблиц. Посмотрите ниже демонстрацию результата, который я надеюсь получить.SQL Server - синхронизация двух таблиц с одинаковой структурой

Table1:

Col1 Col2 
v1 1 
v2 2 
v3 3 
v6 6 

Table2:

Col1 Col2 
v1 1 
v4 4 
v5 5 

Результат для Table1 или Table2 будет

v1 1 
v2 2 
v3 3 
v4 4 
v5 5 
v6 6 

Спасибо

ответ

0

Это один из способов, вставляя строки из таблицы 2, которые еще не существуют в таблице 1;

INSERT INTO Table1 
    SELECT col1, col2 FROM Table2 
    WHERE NOT EXISTS (
    SELECT 1 FROM Table1 
    WHERE Table1.Col1 = Table2.Col1 
); 

An SQLfiddle to test with.

+0

Спасибо за помощь. – Milacay

0
INSERT INTO Table1 
SELECT Col1, Col2 
FROM 
    Table2 t2 
    LEFT JOIN Table1 t1 ON t1.Col1 = t2.Col1 
WHERE 
    t1.Col1 IS NULL 
GO 

INSERT INTO Table2 
SELECT Col1, Col2 
FROM 
    Table1 t1 
    LEFT JOIN Table2 t2 ON t2.Col1 = t1.Col1 
WHERE 
    t2.Col1 IS NULL 
GO 
+0

Благодарим за помощь – Milacay

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