Nie jestem dogłębnie zaznajomiony z kwerendami Oracle SQL, dlatego mam problem z usunięciem niektórych wierszy z tabeli, która musi spełniać ograniczenie, które obejmuje pola innej (dołączanie) tabeli. Innymi słowy chcę napisać zapytanie, aby usunąć wiersze, w tym JOIN.Usuń za pomocą "Dołącz" w kwerencie Oracle sql
W moim przypadku mam tabelę ProductFilters
i inną tabelę Products
połączoną na polach ProductFilters.productID = Products.ID
. Chcę usunąć wiersze z ProductFilters
o wartości wyższej lub równej 200, a produkt, do którego się odnoszą, ma nazwę "Znak" (nazwa to pole w Produkcie).
Chciałbym być informowany na początku, jeśli JOIN jest akceptowalny w kwerendzie usuwania w Oracle. Jeśli nie, jak należy modyfikować tego zapytania, aby uczynić go pracy, ponieważ w tej postaci otrzymuję błąd:
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'
);
Jaki jest błąd, który otrzymujesz? – davek
tak, można usunąć przy użyciu sprzężenia: zobacz tutaj http://stackoverflow.com/a/3675205/110933 – davek