Работаю в MySQL Задача следующая:
Есть таблица 1, в которой есть товары с полем "артикул" В таблице 2 также есть данное поле
Необходимо добавить таблицу 2 в таблицу 1, но так, чтобы строки с одинаковыми артикулами не добавлялись.
То есть:
Table 1 id Имя Артикул
Table 2
id Имя Артикул
Итог
id имя Артикул
INSERT INTO table1 (
`name`,
`art`
) SELECT
t2.`name`,
t2.`art`
FROM
table2 t2
WHERE
NOT EXISTS (SELECT 1 FROM table1 t1 WHERE t1.`art` = t2.`art`)
Добавьте в первую таблицу уникальный индекс по полю артикул
CREATE UNIQUE INDEX idx_articul
ON table1 (articul)
после чего просто вставляйте данные
INSERT IGNORE INTO table1 (name, articul)
SELECT name, articul FROM table2
Дубликаты сами не запишутся.
Можно как-то так
SELECT
name, articul
FROM
table_1
WHERE
articul NOT IN (
SELECT DISTINCT articul FROM table_2
);
UNION
SELECT
name, articul
FROM
table_2
WHERE
email NOT IN (
SELECT DISTINCT articul FROM table_1
);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости