###前提・実現したいこと
Oracleです。以下のテーブルtestがあります。
ID, No, Value A01, 01, 1000 A01, 02, -1000 A02, 01, 500 B01, 01, 0 B01, 02, 100
このようなテーブルに対し、
「同一IDごとのValueの合計値が0になっているレコード」を削除したいのですが、うまくいきません。
下記SQLにて該当レコードの抽出はできました。
Select test.* From test main Inner Join ( Select ID , sum(value) value From test Group By ID ) sub On sub.ID = main.ID And sub.value = 0
この要領で
Delete test From test main Inner Join ( Select ID , sum(value) value From test Group By ID ) sub On sub.ID = main.ID And sub.value = 0
で該当行を削除できるかと思い試みたのですが、
ORA-00933:SQLコマンドが正しく終了されていません
とのメッセージが出力され、削除に失敗しました。
SQLServerであれば上記の書き方でいけたと記憶していたのですが、
Oracleではどのように記述したら削除できるでしょうか。ご教授願います。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/29 08:40