Ich bin nicht vertraut mit Oracle Sql-Abfragen, daher habe ich ein Problem beim Löschen einiger Zeilen aus einer Tabelle, die eine Einschränkung, die Felder einer anderen Tabelle (Joining) enthält erfüllen müssen. Mit anderen Worten möchte ich eine Abfrage schreiben, um Zeilen einschließlich JOIN zu löschen.Löschen mit "Join" in Oracle SQL-Abfrage
In meinem Fall habe ich eine Tabelle ProductFilters
und eine andere Tabelle Products
verbunden Felder ProductFilters.productID = Products.ID
. Ich möchte die Zeilen von ProductFilters
mit einem ID
höher oder gleich 200 löschen und das Produkt, das sie verweisen, hat den Namen "Mark" (Name ist ein Feld in Produkt).
Ich möchte zunächst informiert werden, wenn JOIN in einer Delete Query in Oracle akzeptabel ist. Wenn nicht, wie soll ich diese Abfrage ändern, um damit es funktioniert, da auf dem Formular I einen Fehler erhalten:
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'
);
Was ist der Fehler, den Sie bekommen? – davek
ja, Sie können löschen mit einem Join: siehe hier http://StackOverflow.com/A/3675205/110933 – davek