Löschen Sie mit "Join" in Oracle SQL-Abfrage

Ich bin nicht sehr vertraut mit Oracle, Sql-Abfragen, deshalb habe ich vor einem problem auf das löschen einiger Zeilen aus einer Tabelle, die erfüllt werden müssen, eine Einschränkung, die beinhaltet die Felder der anderen (joining) - Tabelle. In anderen Worten möchte ich eine Abfrage schreiben, löschen von Zeilen, einschließlich ANSCHLIEßEN.

In meinem Fall habe ich eine Tabelle ProductFilters und eine weitere Tabelle Products trat auf den Feldern ProductFilters.productID = Products.ID. Ich will zum löschen der Zeilen aus ProductFilters mit einem ID gleich oder größer als 200 und das Produkt Sie sich beziehen, hat den Namen 'Mark' (der name ist ein Feld in dem Produkt).

Ich möchte informiert werden, anfangs wenn die VERKNÜPFUNG ist akzeptabel in einer Delete-Abfrage in Oracle. Wenn nicht, wie sollte ich diese Abfrage ändern, um zu machen es funktioniert, da auf dem Formular erhalte ich eine Fehlermeldung:

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'
);       

InformationsquelleAutor der Frage arjacsoh | 2012-10-01

Schreibe einen Kommentar