Объединение двух таблиц MySQL

253
16 ноября 2017, 02:51

Работаю в MySQL Задача следующая:

Есть таблица 1, в которой есть товары с полем "артикул" В таблице 2 также есть данное поле

Необходимо добавить таблицу 2 в таблицу 1, но так, чтобы строки с одинаковыми артикулами не добавлялись.

То есть:

Table 1 id Имя Артикул

  1. Яблоко 111555
  2. Груша 111222
  3. Лимон 111888

Table 2

id Имя Артикул

  1. Яблоко 222222
  2. Грушаз 111222
  3. ЛимонЗ 777777

Итог

id имя Артикул

  1. Яблоко 111555
  2. Груша 111222
  3. Лимон 111888
  4. Яблоко 222222
  5. ЛимонЗ 777777
Answer 1
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`)
Answer 2

Добавьте в первую таблицу уникальный индекс по полю артикул

CREATE UNIQUE INDEX idx_articul 
ON table1 (articul) 

после чего просто вставляйте данные

INSERT IGNORE INTO table1 (name, articul)
SELECT name, articul FROM table2

Дубликаты сами не запишутся.

Answer 3

Можно как-то так

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
    );
READ ALSO
Изменение строки в файле

Изменение строки в файле

Ищу в файле совпадение с введенной строкойдальше нужно найденную строку изменить на введенную для замены

264
Обёртка для примитива Boolean как объект

Обёртка для примитива Boolean как объект

Возможно ли заставить обёртку для примитива Boolean вести себя как объект?

255
Преобразовать XSSFWorkbook в SXSSFWorkbook

Преобразовать XSSFWorkbook в SXSSFWorkbook

У меня есть метод для записи данный в эксель файлОн при больших значениях падает с ошибкой - нехватка памяти

354