2012-07-16 4 views
0

이름 바꾸기 작업이있는 새 테이블에 테이블의 모든 행을 삽입하려고합니다. 또한 예외를 두어 이동하지 않아야합니다.이름 바꾸기 및 중복 방지를 통한 반복

Renaming Act : 우리가 이름을 바꿀 경우 그들이 새 테이블에서 중복 될 것이라고 항목 :

Exceptions '에 문자'_ '를 변경합니다.

그래서 모든 항목은 이전 테이블의 고유하고 이름이 바뀐 버전이됩니다. , tblNew

  • 같은 열이 각 제품 : 우리는 임의의 정수 ID 년대가없는 여기

    • ,
    • 데이터베이스는 SQL 서버 CE

    • 우리의 테이블입니다 : "제품", "col1", "col2"

    우리는 중복을 원하지 않는 tblNew, 우리의 키 컬럼에 레코드를 이동하려는 것은 "제품"

  • 답변

    1
    INSERT INTO Table1(Column1) 
        SELECT REPLACE(OriginalColumn, '_', '') 
         FROM Table2 t2 
          LEFT OUTER JOIN Table1 t1 ON t1.Column1 = REPLACE(OriginalColumn, '_', '') 
        WHERE t1.Column1 IS NULL -- Not a duplicate Record 
    
    +0

    안녕하세요,이 때문에 CE 버전의 장애로 작동하는 경우가 멋진 해답이 될 것입니다, 그것을 시도 할 것이다 분. – Sypress

    +0

    @Sypress : 이전 쿼리가 CE에서 실행되지 않는 것 같습니다. 위의 쿼리는 CE에서 실행되어야합니다. – Akhil

    +0

    정확히 내가 찾던 대답이 아니지만 똑똑합니다. 감사합니다. – Sypress