oracle SQL left join () или full join () исключают записи на основе ключей - PullRequest
0 голосов
/ 21 марта 2019

Я хочу исключить записи в одной таблице, если они появляются в другой таблице (на основе ключей)

Я хочу удалить запись в первой таблице: cust_recommendataion, которая имеет то же самое (cust_id и product_id) во второй таблице отдельная пара (cust_id и product_id) во второй таблице может быть только подмножеством первой таблицы «отличная пара (cust_id и product_id)», также есть некоторая пара «(cust_id and product_id)» во второй таблицеСтол может быть уникальным.

У меня есть 2 таблицы 1. cust_recommendataion: для каждого cust_id есть несколько product_id s


cust_id |product_id |ранг


cust_last_buy;для каждого cust_id есть несколько product_id

cust_id |product_id |date


хотел бы знать, как это сделать.используя left join () или full join () или любое другое предложение?Спасибо!

1 Ответ

0 голосов
/ 21 марта 2019

Одно возможное решение с использованием Exist:

Delete from cust_recommendataion c
WHERE
    EXISTS (
        SELECT
           *
        FROM
            cust_last_buy
        WHERE
            cust_id = c.cust_id
             and 
            product_id = c.product_id
    )
...