Я хочу вставить только отдельные записи из таблицы «А» в таблицу «Б». Предположим, что обе таблицы имеют одинаковую структуру.
Как вставить отдельные записи из таблицы A в таблицу B (обе таблицы имеют одинаковую структуру)
comment
Под «Отличными» вы подразумеваете только записи, которых нет в таблице B? Вы имеете в виду записи, которые встречаются в таблице А только один раз? Будьте более конкретными и расскажите нам, какую СУБД вы используете.
- person JNK   schedule 02.03.2011
Ответы (3)
Если под DISTINCT
вы подразумеваете уникальные записи в таблице B, которых еще нет в таблице A, выполните следующие действия:
INSERT INTO TableB(Col1, Col2, Col3, ... , Coln)
SELECT DISTINCT A.Col1, A.Col2, A.Col3, ... , A.Coln
FROM TableA A
LEFT JOIN TableB B
ON A.KeyOfTableA = B.KeyOfTableB
WHERE B.KeyOfTableB IS NULL
person
Lamak
schedule
02.03.2011
INSERT INTO B SELECT DISTINCT * FROM A
Возможно, вы не хотите, чтобы столбец id таблицы был частью отдельной проверки, поэтому используйте это решение, если это так: https://stackoverflow.com/a/5171345/453673
person
TheJubilex
schedule
02.03.2011
person
schedule
Да. Это запрос для использования. Не тот, что от TheJubilex.
- person Nav; 22.11.2016