아직 SQL에서는 좋지 않지만 배우고 있습니다.다른 열의 두 열을 테이블에서 업데이트
그래서 내가 3 개 테이블이 있습니다
tblOne (ID, 유형) tblTemp1 (이름, 유형) tblTemp2 (ID, 이름) 기본적으로
를, 내가 tblOne를 업데이트 할 곳은 어디 ' Id '는 tblTemp2에서 일치하지만 그보다는'Name '이 일치하는 tblTemp1에서'Type '을 가져옵니다.
아무도 도와 줄 수 있습니까?
아직 SQL에서는 좋지 않지만 배우고 있습니다.다른 열의 두 열을 테이블에서 업데이트
그래서 내가 3 개 테이블이 있습니다
tblOne (ID, 유형) tblTemp1 (이름, 유형) tblTemp2 (ID, 이름) 기본적으로
를, 내가 tblOne를 업데이트 할 곳은 어디 ' Id '는 tblTemp2에서 일치하지만 그보다는'Name '이 일치하는 tblTemp1에서'Type '을 가져옵니다.
아무도 도와 줄 수 있습니까?
업데이트 문에서 조인을 사용하는 것이 좋습니다.
UPDATE tblOne
SET tblOne.Type = tblTemp1.Type
FROM tblTemp2
INNER JOIN tblTemp1 ON tblTemp1.Name = tblTemp2.Name
WHERE tblOne.Id = tblTemp2.Id
http://msdn.microsoft.com/en-us/library/aa260662%28SQL.80%29.aspx
UPDATE tblOne
SET
tblOne.Type = tblTemp1.Type
WHERE
tblOne.Id = tblTemp2.Id
AND
tblTemp1.Name = tblTemp2.Name;
UPDATE TBLONE
SET TBLONE.TYPE = (SELECT TBLTEMP1.TYPE
FROM TBLTEMP1
INNER JOIN TBLTEMP2
ON TBLTEMP1.NAME = TBLTEMP2.NAME
WHERE TBLONE.ID = TBLTEMP2.ID);
빨리 감기 우리는
그런 다음 문 및 where 절은 선택 조건이 //
인가에 대한이 부분을 추가 할 경우에만 갱신 조건을 만족해야합니다 이 구문은 정확합니까? 나는 세트 이전에 JOIN이 수행 된 것을 본 적이 없습니까? (구멍을 뚫지 않고 그냥 전에 본적이 없습니다) –
그래, 할 수 있니? – Scott
네 말이 맞아. 이것은 MySQL 고유의 구문입니다. SQL Server 구문을 사용하기 위해 게시물을 편집했습니다. –