고객 레코드가 풍부한 데이터를 갖기 위해 ClusterID를 기반으로 레코드를 결합하려고합니다.고객 데이터 정리 및 결합
MS SQL을 사용하여 다음을 어떻게 그룹화 할 수 있습니까? Coalesce는 레코드가 동일한 행에 있어야 작동 할 수 있기 때문에 작동하지 않으며 클러스터 당 2 개 이상의 일치가 있으면 지루한 처리가됩니다. 모든 컬럼에서 ClusterId가 최대치를 사용하는 것은 제가 해결할 수있는 방법입니다. 그러나 이것을하기위한보다 효율적인 방법이 있기를 바랍니다.
은 유무 :
ClusterID,CustomerNo,Name,Email,Mobile,Address,PostalCode,Passport,ProfileNo
100,NULL,Person,[email protected],NULL,OfficeAdd,12345,NULL,123
100,456,Person,[email protected],98765,HomeAdd,34567,P12345,NULL
이 ** 이것은 SSIS DQS 매칭 노드 (https://ssisdqsmatching.codeplex.com/)의 결과이다. 경기를 할 수는 있지만 생존자 부분을 처리하여 골든 레코드를 얻을 수는 없습니다.
는 원 :
ClusterID,CustomerNo,Name,Email,Mobile,Address,PostalCode,Passport,ProfileNo
100,456,Person,[email protected],98765,OfficeAdd,12345,P12345,123
어떤 생각이 많이 주시면 감사하겠습니다. 고맙습니다! 나는이 쿼리를 추측
이보십시오, 나는 그것이 문제 –
감사를 해결 추측 귀하의 요구 사항을 해결! 이것은 제가 찾고있는 것입니다. 각 ClusterID에 대한 루프로 이동 한 다음 NULL이 아닌 필드를 채우는 것이 맞습니까? – mtryingtocode
또한 루프에 몇 가지 복잡한 문제를 추가하려면 주소 필드에 행 1 주소가 null이 아니고 우편 번호가 null이고 행 2 주소 및 우편 번호가 null이 아니라고 가정 해 봅시다. 두 번째 줄에 우편 번호를 사용하지 않을 조건을 어떻게 추가 할 수 있습니까? 2 행에서 우편 번호를 받으면 행 1 주소와 결합 할 때 이미 잘못된 정보를 제공합니다. – mtryingtocode