2017-11-05 15 views
0

私は年と学期に基づいて学生試験記録のデータベースを持っており、特定の年と学期のすべての学生のレベルを変更したい私にエラーを与えた次のコード。更新文にselectとconditional句を追加することが可能です

update result 
set level = (select new_level.student 
       from new_level 
       where new_level.student = result.student 
       limit 1 
      ) 
and year = '2016/2017' 
and semester = 2 

これを解決するための助けに感謝します。ありがとうございます

答えて

1

あなたはUPDATEステートメントでWHEREを見逃しました。

update result 
set level = (select new_level.student 
       from new_level 
       where new_level.student = result.student 
       limit 1 
      ) 
where #what you missed. 
    year = '2016/2017' 
    and 
    semester = 2 
0

あなたは、where句との両方の関連するテーブル

update result 
inner join new_level on new_level.student = result.student 
set result.level = new_level.student 
where year = '2016/2017' 
and semester = 2 

で学生に参加したり、直接ON句に条件を追加することができますのために参加すると、更新(avoindingどこ語)が必要です例:

update result 
inner join new_level on new_level.student = result.student 
     and year = '2016/2017' 
     and semester = 2 
set result.level = new_level.student 
+0

ありがとうございます。 where句が飛び出すのを見ることができます。再度、感謝します。私はレイモンドに感謝します –

+0

@BoladaleKoladeありがとう..しかし、私はraymondではありませんので、適切なユーザーにこれをコメントする必要があります – scaisEdge

+0

SQLアップデートの調整のための@scaisEdgeに感謝します。私は今それを試し、あなたにフィードバックを与える –

関連する問題