2013-08-29 3 views
0

그래서 동일한 테이블의 두 필드 인 Other_EEsOther_EE_Names이 있습니다. 나는 중단없이 다른 테이블에있는 하나의 기존 필드에 병합하려고합니다. 둘 다 약간의 정보가 담겨 있습니다. 지금까지 두 필드를 별도로 병합했지만 두 번째 필드는 첫 번째 필드보다 우선합니다. 어떻게 동시에 두 필드를 병합 할 수 있습니까? 여기 내가 지금까지 사용하고있는 것이있다. 감사!동일한 문에서 두 필드를 합치는 방법

UPDATE MI 
    SET MI.M_Reps_Contact_Info = M.Other_EE_Names + ' '+ M.Other_EEs + 
           COALESCE(MI.M_Reps_Contact_Info + 
              CHAR(13) + CHAR(10), '') 
    FROM dbo.suptbl_Sprint2_Interview AS M 
INNER JOIN dbo.suptbl_Sprint2_MgrInterview AS MI 
    ON M.Junction_ID = MI.Junction_ID` 
+2

당신은 샘플 데이터 및 출력을 보여줄 수 :

set 문을보십시오? 두 개의 'Other_EE' 필드가'NULL '값을 갖지 않는 한, 이것에 대해서는 아무런 문제가 없습니다. –

+0

@Goat CO 결과 출력은 두 번째 필드의 데이터입니다. 즉, 마지막으로 밀어 넣은 데이터가 병합됩니다. 두 필드 모두 일부 데이터가 있습니다. –

+0

일부 샘플 데이터와 원하는 출력이 도움이 될 수 있습니다. –

답변

1

두 번째 것이 첫번째를 "오버라이드"하면 값이 NULL 일 수 있다고 추측합니다.

SET MI.M_Reps_Contact_Info = COALESCE(M.Other_EE_Names + ' ', '') + 
          COALESCE(M.Other_EEs, '') + 
          COALESCE(MI.M_Reps_Contact_Info + 
             CHAR(13) + CHAR(10), '') 
+0

고마워요! 일을하고 있지만 그 결과는 반복적입니다. 이제 데이터 반복을 계속하려면 어떻게해야합니까? –

+0

반복적 인 데이터를 긁어 라! 여러 번 UPDATE 문을 실행했기 때문에 그 것처럼 보입니다! 'UPDATE MI SET MI.M_Reps_Contact_Info = COALESCE (M.Other_EE_Names + CHAR (13) + CHAR (10), '') + \t \t \t \t \t \t \t COALESCE (M.Other_EEs : 그래서 이것은 내 솔루션이었다 CHAR (13) + CHAR (10) ') + \t \t \t \t \t \t \t COALESCE (MI.M_Reps_Contact_Info'M INNER MI AS dbo.suptbl_Sprint2_MgrInterview 가입 \t ON dbo.suptbl_Sprint2_Interview FROM AS ')을 + M.Junction_ID = MI.Junctio n_ID' P. 줄 바꿈 때문에 CHAR (13) + CHAR (10) " –

+0

@Nicholas Krasnov가 편집 해 주셔서 감사합니다 :) –