1

残念ながら、私はさまざまな場所を検索しましたが、質問する方が簡単かもしれません。

いくつかのデータを選択してから、給与を10%増加するように設定する必要があります。ここで、基準は別のテーブルにあります。これが私のコードです。

 Select E.Lastname, E.Salary, J.EEO1Classification from Employee as E
 Join JobTitle as J
 on E.JobTitleID = J.JobTitleID 
 Update Employee
 set Salary = (Salary * .10) + Salary
 where [JobTitle.EEO1Classification] = 'Office/Clerical'

どこが間違っているのですか?

4

2 に答える 2

2
UPDATE Employee e
SET e.Salary = e.Salary * 1.1
WHERE e.JobTitleID IN 
( SELECT j.JobTitleID FROM JobTitle j 
        WHERE j.EEO1Classification = 'Office/Clerical'
)
于 2012-09-14T04:08:39.923 に答える
0

これがあなたが達成しようとしていることだと思います。基本的にはテーブルへのUPDATE使用JOINJobTitle

MySQL

UPDATE Employee E
INNER JOIN JobTitle as J
  ON E.JobTitleID = J.JobTitleID 
SET Salary = (Salary * .10) + Salary
WHERE [J.EEO1Classification] = 'Office/Clerical'

代替構文

UPDATE
    e
SET
    Salary = (Salary * .10) + Salary
FROM
    Employee E
    JOIN
    JobTitle J ON E.JobTitleID = J.JobTitleID 
WHERE
    J.EEO1Classification = 'Office/Clerical'
于 2012-09-14T03:58:10.463 に答える