내가 함께 참여하고있는 테이블의 예입니다 (참고 : 테이블이 동일한 스키마를 가지고 있지만 다른 데이터베이스에, 나는 그들을 결합하려고) :숫자가 참여 테이블보다 크거나 같은 모든 행을 업데이트하는 방법은 무엇입니까?
Database 1 Table
UniqID UniqID2 Number
100 150 1
100 151 2
Database 2 Table
UniqID UniqID2 Number
100 152 2
100 153 3
내가 표 2를 병합하려고를 Table1에 들어가면 Table1.UniqID = Table2.UniqID
에 가입합니다. 나는 숫자 열에서 모든 중복 값을 원하지 않는다, 이것은 내가 결과가 같이 할 것입니다 :
Table 1
UniqID UniqID2 Number
100 150 1
100 151 2
100 152 3
100 153 4
이것은 내가 지금까지 가지고있는 쿼리입니다,하지만 그것은 단지 표 2에 행을 갱신 Number = 2이고 Number = 3 행을 증가시키지 않습니다. 그렇게하려면 내 쿼리를 어떻게 조정할 수 있습니까?
UPDATE db2
Set db2.Number = db2.Number +
(SELECT MAX(Number) FROM [Database 1]..db1 WHERE UniqID = db2.UniqID)
FROM [Database 2]..table db2
INNER JOIN [Database 1]..Table db1
ON db1.UniqID = db2.UniqID
AND db1.Number = db2.Number
그리고 이것은 내 데이터베이스 2 표 결과 지금처럼 무엇인가 :
Database 2 Table
UniqID UniqID2 Number
100 152 3
100 153 3
기본적으로, 유일한 차이점은 내가 번호 = 3이 두 번째 열에서 번호 = 4 일 할 것입니다 .
over() 절을 채운 다음이 작업을 수행했습니다. 감사합니다. – cjw
@cjw. . . 그것은 잘못 누락되었습니다. 'order by' 절을 추가했습니다. 특정 열을 기준으로 주문할 수 있습니다. –