SQLでの経験が少しあり、SQLPlus/Oracleの次のコードが出てきました。私はちょっとあなたがこのコードを使って更新する理由を混乱させる。 テーブルの例では、なぜそれは単に以下のように更新することはできません、任意の助けを事前に Where句のサブクエリを使用したSQL更新
おかげ
update e
set grade = 'HD'
where result >= 80
and grade != 'HD'
update e
set grade='HD'
where stu_no=(
select stu_no
from e
where result >80 and grade !='HD')
and unit_code=(
select unit_code
from e
where result >80 and and grade !='HD') ;
COL3列COL1、COL2とTABLE1です!
EDIT:テーブル名に
注意を:サブクエリ**はスカラーサブクエリでなければならないか、 '=(サブクエリ)'は実際には 'IN(サブクエリ)'であるべきです – joop
これは最初に投稿したものとはまったく異なります。書き直しは3つしかなかった。 – mathguy
申し訳ありません。結果と等級の列を見るのとは対照的に、なぜこの方法が提案されているのか明確になりますか? –