2016-07-21 5 views
0

2つのテーブルがあり、両方のテーブルの条件が満たされていることに基づいて1つのテーブルのデータを更新したい。両方のテーブルの条件が一致している場合に、1つのテーブルの値を更新MySqL

表1 employeeと呼ばれ、フィールドstaffIdforenamesurnamegradeが含まれます。表2はcompetenceと呼ばれ、フィールドcompId,staffId,groupId,,skillLevelおよびskillUpdateを含む。共通フィールドはstaffIdです。

フィールドskillLevelは0から5までの値にすることができます。「Graduate」グレードの誰かがこれを4または5に設定すると、これを3に減らしたいと思います。どうすればいいですか?

+2

どのような言語ですか? PHP? Java/Android?あなたは答えがほしいと思うならば、あなたはmroe specificであることを願っています。 – Zoe

答えて

0

質問を正しく理解していれば、このようなことを試してみてください。 :P

UPDATE competence AS a 
INNER JOIN employee AS b ON a.staffId = b.staffId 
SET a.skillLevel = 3 
WHERE b.grade LIKE 'Graduate' AND a.skillLevel IN (4,5) 
+0

それはうまくいきました:-) – JiveDancer99

+0

これを聞いてうれしい:)あなたは投票してください。 –

関連する問題