2011-03-02 16 views
1

이 난 직원 테이블이에</p> <p>,

empname code1 code2 
kiran aa bng 
manju yh yh 
anu  yu01 yuo1 

지금 내가이

SELECT case when (employee.code1)='' 
then   
     mappingcode.Code    
    else    
then 
     employee.code2   
    end as Code 
FROM 
employee where bic1= 'kiran' 

같은 SELECT 문을 수행 할 필요가있다하지만 난 오류가 내 프로젝트 난 비슷한 문제가있어 문제를 정의한 probem을 expalin 난

내가 무엇을 해야할지

내가 다 부품 식별자로 오류 employee.code2 희망 CODE2> -

코드 1을 코드 1 위해 CODE2 값을 할당하지 않으면 널 다른 테이블에서 해당 값을 설정하면 감수 제 코드 1 점검 내 질문은 분명하다

아무도 나를 구문 구문을 어떻게 그것을 얻을 수 있습니다.

감사

왕자

+0

은'mappingcode'와'employee' 테이블의 구조는 무엇인가가 있었다 지적에 대해 안드리에게 감사? –

+1

오류 메시지가'employee.code2'에 관한 것이 확실합니까? 스크립트에서'mappingcode.Code'가되어야합니다.'mappingcode'를 쿼리에 추가하지 않았기 때문입니다. 게시 한 쿼리가 불완전하거나 오류 메시지가 연결되지 않았습니다. –

답변

1

그냥 선택을 원한다면, 내가 당신을 도울 것이라고 생각 : 업데이트를하려면

SELECT empname, CASE 
WHEN employee.code1 IS NULL THEN mappingcode.code 
ELSE 
employee.code2 end as Code1 
FROM employee INNER JOIN mappingcode ON employee.empname = mappingcode.empname 

는,이 시도 :

Update employee set code1 = x.code from (SELECT empname, CASE 
WHEN employee.code1 IS NULL THEN mappingcode.code 
ELSE 
employee.code2 end as code 
FROM employee INNER JOIN mappingcode ON employee.empname = mappingcode.empname) x 
inner join employee on employee.empname = x.empname 

스키마에 대해 더 알지 못하는 한, 이것이 당신이 찾고있는 것이라고 생각합니다.

내가 내 게시물에서 같은 선택과 약간의 실수 :

+1

이것은 두 가지 절대적으로 동일한 코드 조각입니다. :) 그 외에도 뭔가 잘못되었다고 생각합니다. '직원이 언제 NULL이 될까요?' –

+0

@Andriy ... 그게 사실이야 :) 지금 고쳐 :) –