Oracle Sqlクエリについて深く知りません。したがって、別の(結合)テーブルのフィールドを含む制約を満たす必要があるテーブルから一部の行を削除する際に問題が発生します。言い換えれば、JOINを含む行を削除するためのクエリを記述したいと思います。Oracle sqlクエリでJoinを使用して削除
私の場合、私はテーブルProductFilters
を持っていて、別のテーブルProducts
はフィールドProductFilters.productID = Products.ID
に加わっています。私はProductFilters
からID
以上の行を200個以上削除したいのですが、それらが参照する製品名は「マーク」(名前はProductのフィールドです)です。
Oracleの削除クエリでJOINが受け入れ可能であれば、最初に通知を受けたいと思います。そうでない場合は、そのフォーム上で、私はエラーが表示されるので、どのように私は、それを動作させるためには、このクエリを変更する必要があります
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