1
테이블의 레코드를 업데이트하는 업데이트 쿼리가 있습니다. 업데이트 할 조건을 선택하면 조건과 일치하는 715 레코드가 있지만 업데이트 쿼리를 실행할 때, 그들 중 15 명만 업데이트됩니다. 누구든지 이걸 도와 줄 수 있어요. 비교를 위해 엑셀 시트의 데이터를 임시 테이블에로드했습니다.업데이트 쿼리가 모든 레코드를 업데이트하지 않습니다.
BEGIN TRAN
UPDATE table1
SET English = CASE
WHEN English <> t.name THEN t.name
else English
END
FROM #tempdata t
LEFT JOIN dbo.Main m
ON m.Code= t.[property]
LEFT JOIN table1 tbv
ON m.filterkey= tbv.filterkey
where t.name != tbv.English
ROLLBACK TRAN
무엇을 선택합니까? 선택 결과에 'filterkey'가 유일합니까? 'table1'에서 유일합니까? –
왜 당신은 'LEFT JOIN'을 업데이트 할 테이블에 넣을까요? – DVT
'사례'가 중복되었습니다. 'English <> t.name '의'ELSE'는'English = t.name'을 의미하므로 ** 모든 경우 **'t.name'을 반환합니다. (어떤 값이 NULL이든 관계가 없지만, WHERE 절에 의해 제외됩니다.) –