@fomiash

Как в MySQL перенести столбцы в другую таблицу при этом избежав повторов по значению неиндексного столбца?

Гугл выдает ответы с insert into и insert ignore, но в моём случае индексов и на столбцах нет, как можно указать что только дубликаты по ключу 'cell2' переносить не нужно?
INSERT INTO `Table1` (`cell1`, `cell2`)  SELECT `cell1`, `cell2` FROM `Table2` WHERE ???
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 2
scoffs
@scoffs
Fullstack | C# | Student
Случайно не так?
INSERT INTO Table1 (cell1, cell2)
SELECT t2.cell1, t2.cell2 FROM (
  SELECT DISTINCT cell2 FROM Table2
) AS d
INNER JOIN Table2 AS t2 ON t2.cell2 = d.cell2;
Ответ написан
Комментировать
@fomiash Автор вопроса
Пока есть такое собственное решение, но явно не оптимальное
INSERT INTO Table1 (`cell2`, `cell1`)
 SELECT  `cell2`,  `cell1` FROM Table2
 WHERE `cell2` NOT IN (SELECT `cell2` FROM  Table1)  GROUP BY `cell2`
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы