我對Oracle Sql查詢並不十分熟悉,因此我在從必須滿足包含另一個(加入)表的字段的約束的表中刪除某些行時遇到問題。換句話說,我想編寫一個查詢來刪除行,包括JOIN。在Oracle sql查詢中使用「Join」刪除
在我的情況下,我有一個表ProductFilters
和另一個表Products
加入字段ProductFilters.productID = Products.ID
。我想從ProductFilters
刪除ID
高於或等於200的行,並且它們引用的產品具有名稱'Mark'(名稱是Product中的字段)。
我想先通知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'
);
你得到的錯誤是什麼? – davek
是的,你可以刪除使用連接:請參閱這裏http://stackoverflow.com/a/3675205/110933 – davek