JOIN INNER. Psycopg2. Python

У меня есть две таблицы: old_prod и new_prod. В обоих есть поле price и prod_id.

Задача: если price из new_prod на 20% меньше чем в old_prod занести целую запись(category, link, price) в третью таблицу good_prod. Из общего у двух товаров - prod_id

Подскажите как это можно сделать одним запросом к БД без вмешательства питона? Спасибо.


Ответы (1 шт):

Автор решения: Akina
INSERT INTO good_prod (category, link, price)
SELECT ???.category, ???.link, ???.price
FROM new_prod
JOIN old_prod USING (prod_id)
WHERE new_prod.price <= old_prod.price * 0.8
;

Поскольку непонятно, из какой таблицы брать значения, поставил знаки вопроса. Нужные алиасы расставляй самостоятельно.

Запрос предполагает, что в обеих таблицах поле prod_id как минимум уникально.

→ Ссылка