2017-03-12 8 views
0

Database I am working from更新テーブル値

Iはclass_sectionテーブル内instructor_idに等しく、専門知識と学部テーブル内の各EMPLOYEE_IDに関連付けexpertise_levelを増加させることにより、専門知識テーブル内expertise_levelを更新しようとしていすべてのknowledge_level値に1を加えることによって、2014に等しい年の値を持ちます。 expert_levelが8以上でなければ、何も起こりません。私はこの問題を解決するために、相関サブクエリを使用しています

update expertise 
    set expertise_level = (expertise_level +1) 
    where (employee_id, expertise_level) = 
     (select f.employee_id, expertise_level 
     from class_section s join course c on (s.course_code = c.course_code) join expertise e on (c.course_code=e.course_code) join faculty f on(e.employee_id = f.employee_id) 
     where year = '2014' AND expertise_level <8 
     group by f.employee_id, expertise_level); 

、これは私が書かれていると私は、Oracleの「INVALID関係演算子」エラーを受信して​​いると私はなぜわからないクエリです。正しい軌道にいるのですか?

答えて

0

「=」あなたは、単一の値と一致させることができます使用することにより、where句

... 
where (employee_id, expertise_level) in 
... 

の「中」と「=」演算子を交換してください。

関連する問題