Employee
및 Time
이라는 두 개의 테이블이 있습니다. 직원 코드 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