@pavlikmd

Как сравнить 2 таблицы MySQL?

Есть 2 таблицы в одной 11 млн записей в другой 12 млн записей, в каждой таблице есть колонки searchArticle, brand нужно сравнить 2 таблицы на поля артикул и бренд, и если есть в одной таблице записи а в другой нет то экспортировать в csv или txt.

Пробовал через php это сделать после долгой работы выдало ошибку Allow memory бла бла бла. Я так понимаю не хватает памяти для обработки запроса, думаю если выполнять все это на стороне SQL то должно сработать, но в SQL не силен.
  • Вопрос задан
  • 3499 просмотров
Пригласить эксперта
Ответы на вопрос 4
@bkosun
Попробуйте dbForge Studio for MySQL. Инструмент позволяет проводить автоматический анализ и группировать изменнеия схем/данных.

https://www.devart.com/ru/dbforge/mysql/studio/fea...
Ответ написан
alternativshik
@alternativshik
Если бы еще полный текст ошибки, чтобы понятнее было, ошибка от БД или от php и после этого уже понимать, в какую сторону двигаться...
Ответ написан
@nozzy
Symfony, Laravel, SQL
select
* 
from table1
where (searchArticle, brand) not in
	(
	select searchArticle, brand
	from table2
	);
Ответ написан
Комментировать
@Vitsliputsli
SELECT
        table1.*
    FROM table1
    LEFT JOIN table2 ON table1.searchArticle=table2.searchArticle AND table1.brand=table2.brand
    WHERE table2.brand is null // здесь лучше указать table2.id
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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