копирование между несколькими таблицами - PullRequest
0 голосов
/ 04 августа 2011

У меня есть несколько записей в таблицах A с полями, например, фамилия, имя, школа, dob

У меня есть еще одна таблица B с некоторыми записями и полями, например, имя, фамилия, адрес, клуб,

Я хотел бы использовать имя и фамилию в таблице B, чтобы проверить, существует ли запись в таблице A, если нет, следует добавить запись в таблицу A. Я был бы рад, если бы вы могли помочь мне с этим

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Этот SQL должен сделать это. По сути, вставка из table_b, записи с именем и фамилией не существуют в table_a.

INSERT INTO table_a (firstname, lastname, address, club)
(
  SELECT DISTINCT firstname, lastname, address, club FROM table_b 
  WHERE (firstname, lastname) NOT IN (SELECT firstname, lastname FROM table_a)
)
0 голосов
/ 04 августа 2011

Попробуйте этот запрос -

INSERT INTO table_a(firstname, lastname) 
  SELECT b.firstname, b.lastname FROM table_b b
    LEFT JOIN table_a a ON b.firstname = a.firstname AND b.lastname = a.lastname
  WHERE a.firstname IS NULL AND a.lastname IS NULL;
...