Вставить строки из таблицы, которых нет в существующей таблице

0

У меня две таблицы с одинаковой схемой/структурой. Я хотел бы добавить строки из 2-й таблицы, которых нет в 1-й таблице.

Пример 1

UserID ProjectName Task        FirstName
1       ABC         Design     Sam 
2       DEF         Writing    John

Таблица 2

 UserID  ProjectName   Task   FirstName
    1       ABC           Design     Sam 
    2       DEF         Writing    John
    3       GHI         Presenting Tom
    1       LMN         Design     Sam

В этом случае Composite Key (UserID, ProjectName, Task). Я хотел бы вставить последние две записи из таблицы 2 в таблицу 1, так как в таблице 1 нет этих записей.

Любая помощь по этому вопросу была бы весьма признательна.

Теги:

2 ответа

0
INSERT INTO tbl1 (UserID, ProjectNam, Task, FirstName)
  SELECT UserID, ProjectNam, Task, FirstName
  FROM tbl2 WHERE project_name not in (select project_name from tbl1);
0

Вы можете использовать синтаксис INSERT... SELECT

insert into table1(UserID, ProjectName, Task, FirstName) select UserID, 
ProjectName, Task, FirstName from table2 t2 left join table1 t1 on 
t2.ProjectName!=t1.ProjectName
  • 1
    Спасибо за этот фрагмент кода, который может оказать некоторую ограниченную, немедленную помощь. Правильное объяснение значительно улучшило бы его долгосрочную ценность, показав, почему это хорошее решение проблемы, и сделало бы его более полезным для будущих читателей с другими, похожими вопросами. Пожалуйста, измените свой ответ, чтобы добавить некоторые объяснения, в том числе предположения, которые вы сделали.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню