2013-03-06 2 views
1

를 기반으로 쿼리 아래 참조하십시오SQL 서버 - 업데이 트를 구축 절 조건

Update Employee 
Set AccountManagerId = a.AM_ID 
FROM Employee e INNER JOIN AccountManager a on e.Id = a.Id 
WHERE 

** (WHERE 절에 추가해야합니다) 부분 아래 구성하기 위해 고투 **

If a.Department is not null then [FOLLOWING NEEDS TO BE ADDED TO WHERE CLAUSE] (e.Department = a.department) 

where to this where 절을 추가하는 데 어려움을 겪고 있습니다. 부서가 null가 아닌 경우 그래서 다음 절

답변

0
Update Employee 
Set AccountManagerId = a.AM_ID 
FROM Employee e INNER JOIN AccountManager a on e.Id = a.Id 
WHERE ((a.Department IS NULL) || (e.Department = a.department)) 
0

당신이 할 수 없습니다 WHERE이 추가 :

Update Employee 
Set AccountManagerId = a.AM_ID, 
e.Department = a.department 
FROM Employee e INNER JOIN AccountManager a on e.Id = a.Id 
WHERE 
a.Department IS NOT NULL 
+0

지금 20K 위해 가기? ;) – mattytommo

+0

@mattytommo 1millionK;) –

+0

@mattytommo - 정확히! 목표는 내 담당자를 그렇게 높게 설정하면 stackoverflow 예외가 발생합니다. o) –

0

왜 그냥 조인에 다른 조건을 추가?

나는 이것이 부서를 가진 일치하는 계정 관리자로만 직원을 업데이트하기 위해 의도 한 바를 달성 할 것이라고 믿습니다.

UPDATE Employee 
SET AccountManagerId = a.AM_ID 
FROM Employee e 
INNER JOIN AccountManager a 
ON e.Id = a.Id 
AND 
e.Department = a.Department 
+0

나는 그가 AccountManager 부서로 Employee 부서 칼럼을 업데이트하려고하고 있다고 생각합니다. 열 –

+0

정확히 무슨 일이 일어나는지 잘 모르겠습니다. 명확한 경우 답변을 적절하게 업데이트하거나 제거합니다. –

관련 문제