oracle SQL left join() or full out join() 根据键排除记录
oracle SQL left join() or full out join () exclude records based on keys
我想排除一个 table 中出现在另一个 table 中的记录(基于键)
我要删除第一条记录table:
cust_recommendataion
在第二个 table 中具有相同的( cust_id 和 product_id)
第二个 table 中的不同对 ( cust_id 和 product_id) 可能只是第一个 table 不同对 ( cust_id 和 product_id)
在第二个 table 中也有一些 '( cust_id 和 product_id)' 对可能是唯一的。
我有 2 table
1. cust_recommendataion:对于每个cust_id有多个product_ids
cust_id | product_id |排名
- cust_last_buy;每个 cust_id 有多个 product_id
cust_id | product_id |日期
很想知道如何做到这一点的建议。通过使用 left join() 或 full out join() 或任何其他建议?
谢谢!
一个可能的解决方案使用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
)
我想排除一个 table 中出现在另一个 table 中的记录(基于键)
我要删除第一条记录table: cust_recommendataion 在第二个 table 中具有相同的( cust_id 和 product_id) 第二个 table 中的不同对 ( cust_id 和 product_id) 可能只是第一个 table 不同对 ( cust_id 和 product_id) 在第二个 table 中也有一些 '( cust_id 和 product_id)' 对可能是唯一的。
我有 2 table 1. cust_recommendataion:对于每个cust_id有多个product_ids
cust_id | product_id |排名
- cust_last_buy;每个 cust_id 有多个 product_id
cust_id | product_id |日期
很想知道如何做到这一点的建议。通过使用 left join() 或 full out join() 或任何其他建议? 谢谢!
一个可能的解决方案使用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
)