Ich habe ein wenig Erfahrung in SQL und stieß auf den folgenden Code für SQLPlus/Oracle. Ich bin ein wenig verwirrt, warum Sie ein Update mit diesem Code machen. Die Tabelle Beispiel ist tabelle1 mit Spalten col1, col2, col3SQL-Update mit Unterabfrage in Where-Klausel
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') ;
Warum kann es nicht einfach ein Update wie die folgenden sein,
update e
set grade = 'HD'
where result >= 80
and grade != 'HD'
Vielen Dank im Voraus für jede Hilfe!
EDIT: Added den eigentlichen Code, ohne die Tabellennamen zu ändern
Hinweis : Die Unterabfragen ** sollten ** skalare Unterabfragen sein, oder die '= (Unterabfrage)' sollte eigentlich 'IN (Unterabfrage)' sein – joop
Dies ist definitiv anders als das, was Sie ursprünglich gepostet haben - jetzt gibt es vier Spalten im Spiel, in Ihrem Umschreiben gab es nur noch drei. – mathguy
Entschuldigung. Wird dadurch deutlicher, warum diese Methode vorgeschlagen wird und nicht nur die Spalten für Ergebnis und Bewertung? –