2017-10-26 4 views
-3

Town 열의 항목 중 일부가 잘못 입력되어 사용자가 Town 열 대신 우편 코드를 입력하려고 시도하고 있으므로 (도시 이름 대신 사용자가 입력 한 우편 번호) 쿼리를 작성했습니다. 타운 열에 입력 한 우편 번호 값으로 우편 번호 열을 업데이트 : 난 당신이 모든 행이 업데이트되기 때문에 코드가 작동하지 않는 것을 발견하고 추측하고업데이트 잘못 입력 된 값에 대한 SQL 쿼리

UPDATE  dbo.ClientLocations 
SET   Postcode = cl.Town 
FROM  ClientLocations cl INNER JOIN Clients AS c 
      ON cl.ClientId = c.Id 
WHERE (cl.Town IS NOT NULL) AND 
     (cl.Town <> '') AND 
     (cl.Archived IS NULL OR cl.Archived = 0) AND 
     (cl.Postcode IS NULL) AND 
     (c.IsArchived IS NULL OR c.IsArchived = 0) AND 
     (cl.Town <> 'Norwich' AND cl.Town <> 'Ireland') and 
     cl.ClientId not in (27858,45444) 
+10

무엇이 문제입니까? – Leonidas199x

답변

1

.

UPDATE cl 
    SET Postcode = cl.Town 
    FROM ClientLocations cl INNER JOIN 
     Clients AS c ON cl.ClientId = c.Id 
    WHERE (cl.Town IS NOT NULL) AND (cl.Town <> '') AND (cl.Archived IS NULL OR 
      cl.Archived = 0) AND (cl.Postcode IS NULL) AND (c.IsArchived IS NULL OR 
       c.IsArchived = 0) AND (cl.Town <> 'Norwich' AND cl.Town <> 'Ireland') and cl.ClientId not in (27858, 45444); 

당신은 다른 질문이있을 수 있습니다,하지만 당신은뿐만 아니라 update 당신이하려는 어떤 식으로 뭔가를해야 할 수도 있습니다 : 당신은 update 테이블 별칭을 사용해야합니다.