2013-09-30 2 views
1

도시 이름의 테이블을 반복하여 필드 데이터에서 문자열을 제거 그러나 이러한 일이 발생하기 전에 다음 데이터 중 일부는 "정리"되어야합니다.SQL 서버 : 데이터베이스 A가 데이터베이스 B의 테이블에 배치 될 필요가 일부 데이터를 포함</p> <p>나는 두 개의 데이터베이스, 데이터베이스 A와 데이터베이스 B.이

데이터베이스 B에 배치 할 데이터가 들어있는 데이터베이스 A의 테이블에는 "Desc"라는 필드가 있습니다. 이제는 시스템의 사용자가 도시 이름을 "Desc"필드에 입력하는 데이터와 함께 넣습니다. 예를 들어, 사용자는 "가구를 새 칸막이 실로 옮깁니다. 뉴욕. 전기를 추가하십시오. "

데이터를 데이터베이스 B로 가져 오기 전에 해당 데이터에서"New York "이라는 단어를 제거해야"Move furniture to new cubicle. 추가하십시오. "그러나 데이터베이스 A의 원래 데이터는 변경되지 않아야합니다. 즉, 데이터베이스 A의 데이터는 여전히 "가구를 새로운 칸막이 벽으로 옮깁니다. 뉴욕. 전기 추가 "를 선택하고 데이터베이스 B의 데이터는"가구를 새로운 칸막이 실로 옮깁니다. 전기 추가합니다. 데이터베이스 B.에 배치되기 전에 데이터베이스 A로부터 제품 설명 "필드 데이터

은 어떻게 할"

데이터베이스 B는 제거해야 할 도시 이름의 목록이있는 테이블을 포함 " 데이터베이스 A에서 데이터를 가져온 저장 프로 시저 또는 함수를 생성 한 다음 데이터베이스 B의 Cities 테이블을 반복하고 "Desc"필드에 도시 ​​이름이 있으면 해당 필드의 나머지 정보를 유지하면서 제거합니다 따라서 데이터베이스 B에서 적절한 테이블을 채우는 데 사용할 수있는 레코드 세트를 생성합니까?

나는 여러 가지를 시도했지만 아직 해독하지 않았습니다. 그러나 이것이 아마도 꽤 쉽다는 것을 확신합니다. 어떤 도움이라도 대단히 감사합니다!

감사합니다.

편집 :

나는이 문제를 해결하기 위해 노력했다 최신 것은 이것이다 :

DECLARE @cityName VarChar(50) 

While (Select COUNT(*) From ABCScanSQL.dbo.tblDiscardCitiesList) > 0 

Begin 

Select @cityName = ABCScanSQL.dbo.tblDiscardCitiesList.CityName FROM ABCScanSQL.dbo.tblDiscardCitiesList 

SELECT JOB_NO, LTRIM(RTRIM(SUBSTRING(JOB_NO, (LEN(job_no) -2), 5))) AS LOCATION 
     ,JOB_DESC, [Date_End] , REPLACE(Job_Desc,@cityName,' ') AS NoCity 
     FROM fmcs_tables.dbo.Jobt WHERE Job_No like '%loc%' 
End 

"Job_Desc은"제거 된 도시 이름이 필요가있는 분야입니다.

+0

게시물에 * * 여러 가지 *를 추가하지 않아도됩니다. –

+0

대체 할 품목 (도시명) 목록이 있습니까? 그것이 테이블에 저장되어 있습니까? – mhn

답변

0

이것은 데이터 품질 문제입니다. 데이터베이스 A에서 [description]의 복사본을 만들고 [cleaned_desc]라고 할 수 있습니다.

하나의 간단한 솔루션은 다음을 수행하는 함수를 작성하는 것입니다.

1 - [tbl_remove_these_words]에서 데이터를 읽습니다. 이것들은 당신이 제거하고 싶은 구입니다.

2 - 입력 - @var_description과 테이블의 행을 비교하십시오.

3 - 일치하는 경우 빈 문자열로 교체하십시오.

이 해결 방법은 유지 관리 및 업데이트하는 정제 테이블에 따라 달라집니다.

[description]의 입력을 [fn_remove_these_words]로 호출하고 [cleaned_desc]를 출력으로 설정하는 업데이트 쿼리를 실행합니다.

또 다른 솔루션은 SSIS 용 Melisa Data (DQ) 제품 또는 SQL Server 스택의 데이터 품질 서비스와 같은 제품을보고 문제를 해결하기위한 응용 프로그램 프레임 작업을 제공하는 것입니다.

관련 문제