2016-10-25 3 views
0

일부 데이터 조작을 수행하려는 임시 테이블이 있고 원본 테이블에 다시 쓰려고합니다. 그러나 첫 번째 단계로 원본 데이터를 변경된 데이터와 나란히 비교하고 싶습니다.T-SQL에서 열 데이터를 새 열로 수정했습니다.

아래의 쿼리를 사용하면 수정 된 데이터를 임시 테이블의 새 열에 어떻게 쓸 수있어서 나란히 비교할 수 있습니까? 내가 대신 ConfigValue의 새 열을 임시 테이블에 새 열을 추가하고 업데이트 SQL 서버 2008


UPDATE #TempCustomControls 
SET ConfigValue = 
CASE 
    WHEN ConfigValue like '%GetPersonProperty%$PersonID$%' 
    THEN 'PersonLogic.GetPersonProperty($PersonID$, ' + RIGHT(ConfigValue, charindex(',', REVERSE(ConfigValue))-1) + ')' 

    WHEN ConfigValue like '%GetProfileProperty%$PersonID$%' 
    THEN 'PersonLogic.GetPersonProperty($PersonID$, ' + RIGHT(ConfigValue, charindex(',', REVERSE(ConfigValue))-1) + ')' 

    WHEN ConfigValue like '%GetProfileProperty%GetJobCreatedByPerson%$JobID$%' 
    THEN 'PersonLogic.GetPersonPropertyFromJobID($JobId$, ' + RIGHT(ConfigValue, charindex(',', REVERSE(ConfigValue))-1) + ')' 
ELSE 
    ConfigValue 
END 

답변

1

을 사용하고 있습니다.

Alter table #TempCustomControls add new_value varchar(100) 

UPDATE #TempCustomControls 
SET new_value = 
CASE 
    WHEN ConfigValue like '%GetPersonProperty%$PersonID$%' 
    THEN 'PersonLogic.GetPersonProperty($PersonID$, ' + RIGHT(ConfigValue, charindex(',', REVERSE(ConfigValue))-1) + ')' 

    WHEN ConfigValue like '%GetProfileProperty%$PersonID$%' 
    THEN 'PersonLogic.GetPersonProperty($PersonID$, ' + RIGHT(ConfigValue, charindex(',', REVERSE(ConfigValue))-1) + ')' 

    WHEN ConfigValue like '%GetProfileProperty%GetJobCreatedByPerson%$JobID$%' 
    THEN 'PersonLogic.GetPersonPropertyFromJobID($JobId$, ' + RIGHT(ConfigValue, charindex(',', REVERSE(ConfigValue))-1) + ')' 
ELSE 
    ConfigValue 
END 

select 모두 열

Select ConfigValue,new_value 
From #TempCustomControls 
+0

완벽한을 확인하세요! 빠른 답변 감사합니다. – PixelPaul

+0

완벽한 경우 받아 들여야합니다 @PixelPaul – scsimon

관련 문제