Выбрать неповторяющиеся элементы из двух таблиц

Рейтинг: 0Ответов: 1Опубликовано: 02.02.2015

Здравствуйте!

Давно делал парсер клиенту, сливал товары с донора. Спустя год потребовалось допарсить товары. Я составил опять полный список всего, что есть на сайте донора. Т.е. у меня 2 таблицы с одинаковыми полями в БД id, product_id, name теперь я хочу со старыми данными парсера и новыми. Теперь я хочу выбрать только то, что нового во второй таблице. product_id - это идентификатор товаров донора, собственно по ним я и думаю выполнить эту выборку. Не совсем пойму, как мне это делать, через LEFT JOIN или что-то ещё?

Ответы

▲ 1Принят

Если product_id товаров в таблицах совпадают, то:

SELECT p.* 
FROM `{таблица новый товаров}` as p
WHERE p.product_id NOT IN (
   SELECT product_id
   FROM `{таблица старых товаров}`
)

Подставьте свои названия таблиц. В принципе, product_id можно заменить на название, артикул или любое уникальное поле для товара.