이전 참조 번호와 새 참조 번호를 일치시키고 덮어 쓸 SQL 부분을 작성했습니다.코드에서 0 레코드를 반환하는 참조 번호 일괄 업데이트
이 문맥은 잘못된 참조 번호가있는 공급 업체로부터 3000 송이 이상의 인보이스를 받았기 때문입니다. 그들은 Excel 파일에서 나에게 정확한 것을 제공했습니다.
DB에 새 테이블을 만들고 새 참조 데이터를로드했습니다. 나는 그 때 아래를 달리고있다.
테스트 데이터가 포함 된 UAT 환경을 통해이 코드를 처음 실행 했으므로 코드가 원하는대로 정확하게 수행되었습니다. 나는 아래 실행할 때, 나는 다음은 0
의 수익을 얻는 것은 내가
UPDATE a
SET a.Refr1 = b.RefNEW
FROM ESB_EDI_HEADERS AS a
INNER JOIN Musgrave_EDI AS b ON a.Refr1 = b.RefOLD
을 사용하고 코드입니다 유지 컨텍스트 :
ESB_EDI_HEADERS
테이블 우리의 모든 송장이 포함되어 있습니다. 이것은 인보이스에 잘못된 참조 번호가있는 곳입니다.
Musgrave_EDI
은 Excel 파일에서 데이터를 가져온 새 테이블입니다.
내가 아래 데이터를 가져올 때 가져온 데이터에 문제가있을 수 있다고 생각합니다. 응답을받지 못했습니다.
SELECT Refr1
FROM ESB_EDI_Headers
INTERSECT
SELECT RefOLD
FROM Musgrave_EDI
여기서는 기존 참조가 일치하는 위치를 확인하려고하지만 여기서도 결과가 표시되지 않습니다.
지도 나 도움을 주시면 감사하겠습니다. 문제가되는 데이터를이 플랫폼에서 어떻게 공유 할 수 있는지는 모르지만 데이터 문제라고 생각합니다. 이하
는 테이블의 일부 예시적인 데이터가Musgrave_EDI 가 Musgrave_EDI FROM TOP 10 * 를 선택이다
RefOLD RefNEW
C2300008338 0
C2300008339 0
C2300008340 0
C2300027652 0
C2300027653 0
C2300027656 0
C2300005878 7439
C2300004652 8172
C2300004653 8752
C2300004654 9385
ESB_EDI_HEADERS SELECT TOP 10 Sitecode를, 공급, TrDate, Refr1, Refr2': 00 : 00.000 2016년 5월 1일 00'DateImported> = ESB_EDI_HEaders FROM 3,691,363,210
Sitecode Supplier TrDate Refr1 Refr2
5017 000011 2016-04-28 00:00:00.000 8228378422 E02591436
5057 000011 2016-04-28 00:00:00.000 E02591454
5012 000011 2016-04-25 00:00:00.000 78316997 E02591989
5012 000011 2016-04-27 00:00:00.000 78344448 E02591990
5012 000011 2016-04-29 00:00:00.000 78367685 E02591991
5011 000011 2016-04-25 00:00:00.000 78314138 E02591992
5011 000011 2016-04-28 00:00:00.000 78352647 E02591993
5011 000011 2016-04-30 00:00:00.000 78376810 E02591994
5013 000011 2016-04-25 00:00:00.000 78316973 E02592104
5013 000011 2016-04-27 00:00:00.000 78343940 E02592105
합니까 a.Refr1 b.RefOLD과 같은 데이터 형식을
아래의 코드를 사용하여이 문제를 해결했다. Musgrave_EDI에서 업데이트 ESB_EDI_HEADERS SET Refr1 = b.RefNEW 는 B AS \t는 ESB_EDI_HEADERS.Refr1는 = b.RefOLD – NEER
이 시도하고 또한 0 기록 – Daniel
당신이이 개 테이블에 어떤 가치를 추가 할 수 반환받은 WHERE? – NEER