2013-02-24 2 views
1

아래의 현재 데이터가 아래의 원하는 데이터처럼 보이게 만드는 SQL 업데이트 문을 만들려고합니다.연결된 값이있는 SQL 업데이트 열

간단히 부모 ID가 0이면 ErrorDescriptionWithParent는 해당 행의 errorDescrtiption이됩니다.

부모 ID가 0이 아닌 경우 errordescription with parent는 delimeter로 구분 된 부모의 오류 설명과 하위 오류 설명의 연결 값이됩니다.

그림을 보려면 아래 데이터를 참조하십시오. 내가 coalesce 함수를 사용하려고했지만 적절한 문자열을 만들 수 있습니다. 사전에 감사

현재 샘플 데이터

ID ErrorDescription ErrorDescriptionWithParent ParentID 
1 XYZ           0 
2 Operator          1 

원하는 샘플 데이터

ID ErrorDescription ErrorDescriptionWithParent ParentID 
1 XYZ    XYZ       0 
2 Operator   XYZ-Operator     1 

다음 난 그냥에서 도움을 필요로 0의 ParentID와 레코드 내 업데이트 문이다 ParentID가 0이 아닌 경우 ErrorDescriptionWithParent를 업데이트하기위한 업데이트 statemet 만들기.

같은
UPDATE errorcode 
set ErrorDescriptionWithParent = ErrorDescription 
where parentID = 0 

답변

1

뭔가 :

update e 
set ErrorDescriptionWithParent = isnull(p.ErrorDescription + '-', '') + e.ErrorDescription 
from errorcode e 
    left join errorcode p on e.ParentID = e.ID 

작동합니다.