Employee
とTime
の2つのテーブルがあります。従業員コード1EのTaskListがすべてyの場合はOnTrack=y
を割り当てたい。SQL内のテーブル値に基づいて他のテーブルを更新
私はこれを試してみましたが、私は私のコードは一列のみを更新している
UPDATE Employee
SET OnTrack = 'y'
FROM Employee e
WHERE e.Code IN
INNER JOIN (SELECT EmployeeCode FROM Time WHERE status = 'P') permanent
ON permanent.Employeecode = e.Code
AND permanent.Employeecode NOT IN
(SELECT EmployeeCode FROM Time t WHERE t.EmployeeCode=permanent.Employeecode and t.tasklist<>'y')
こだわっています。誰でも助けてくれますか?
Employeeテーブル:
Code Name Hours OnTrack
***********************************
1E SCOTT 32
2E LISA 32
3E MARK 32
タイムテーブルが
Code Employeecode Status workingHours TaskList
********************************************************
1A 1E P 8 Y
2A 1E P 8 Y
3A 1E P 8 N
4A 2E T 8 Y
5A 2E T 0 Y
6A 3E P 8 Y
従業員表で、Ontrack社の状況は、すべての従業員のコードはタイムテーブルに 'Y' を持っている場合に更新する必要がありますされて期待したものの結果であります
Code Name Hours OnTrack
1E SCOTT 24 N
2E LISA 12 Y
3E MARK 0 Y
どのようにクエリが機能するかわかりません。 –
これはどのRDBMSですか? 'mysql'、' postgresql'、 'sql-server'、' oracle'、 'db2'のどれかを指定するタグを追加してください。 –
@ user3331421最新のアップデートをフォーマットして、読めるようにしてください。 – objectNotFound