我对 Oracle Sql Queries 并不十分熟悉,因此我在从表中删除某些行时遇到了问题,这些行必须满足包含另一个(连接)表的字段的约束。换句话说,我想编写一个查询来删除包括 JOIN 在内的行。
在我的情况下,我有一个表ProductFilters
和另一个表Products
加入 fields ProductFilters.productID = Products.ID
。我想删除大于或等于 200 的行,并且它们引用的产品具有名称“标记”(名称是产品中的一个字段)ProductFilters
。ID
如果 JOIN 在 Oracle 中的删除查询中是可接受的,我想最初被告知。如果不是,我应该如何修改此查询以使其正常工作,因为在该表单上我收到一个错误:
DELETE From PRODUCTFILTERS pf
where pf.id>=200
And pf.rowid in
(
Select rowid from PRODUCTFILTERS
inner join PRODUCTS on PRODUCTFILTERS.PRODUCTID = PRODUCTS.ID
And PRODUCTS.NAME= 'Mark'
);