아래의 쿼리를 사용하여 테이블 o의 필드 sku를 테이블 p의 필드 AutoSKU로 업데이트합니다. 그리고 그것을 실행하면 오류가 발생합니다 : "모호한 열 이름 'sku'". 엔진이 어디서 어떤 sku에 대해 이야기하는지 모르기 때문에 문제가 있다는 것도 압니다. 하지만 각 업데이트 행이 올바르게 매핑되었는지 확인하려면 해당 조건이 필요합니다. sku를 o.sku로 바꾸면 "여러 부분 식별자"o..sku "를 바인딩 할 수 없습니다."라는 또 다른 오류가 나타납니다. 어떤 아이디어?Sql 업데이트 - 모호한 열 이름
UPDATE o
SET sku = p.AutoSKU
FROM o (NOLOCK)
JOIN a (NOLOCK) ON a.Sku = o.sku
JOIN p (NOLOCK) ON p.Code = a.ProductCode
WHERE o.sku <> p.AutoSKU
AND sku = a.Sku
여기'AND sku = a.Sku'는 첫 번째'sku'에 적절한 테이블 별명을 붙여야합니다. –
질문이 의미가 없습니다. 당신은 이미'on' 절에서'Sku'에 대한 조건을 가지고 있습니다. 'WHERE' 절에서 반복 할 필요는 없습니다. –
당신이 맞습니다, @GordonLinoff. 나는 엔진이 FROM 절의 o 테이블과 다르게 Update 쿼리에서 o 테이블을 처리 할까봐 걱정했습니다. 고맙습니다! –