2016-08-01 3 views
1

나는 일반적으로 오라클과 협력하며, 이와 같은 쿼리는 매우 쉽습니다. 나는 내 두뇌를 봤다. 기본적으로 주석의 이전 레코드의 최대 식별자를 얻는 것입니다.오라클 - SQL 서버 쿼리

오라클에서 나는 기본적으로 레코드 번호가 순차적이

UPDATE NOTES N1 
SET MASTER_RECORD_NUMBER = 
(SELECT MAX(MASTER_RECORD_NUMBER) 
FROM NOTES N2 
WHERE N1.CUSTOMER_NO = N2.CUSTOMER_NO 
AND N2.MASTER_RECORD_NUMBER < N1.MASTER_RECORD_NUMBER 
AND N2.CODE IS NOT NULL) 
WHERE N1.CODE IS NULL; 

같은 업데이 트를했을 것, 그리고 그것을 계속하는 경우 코드는 존재하지 않습니다. 이 쿼리는 날짜와 같은 것을 포함하여 조금 더 오래되었지만 일반적으로 수행하려고 시도한 것입니다.

+0

http://stackoverflow.com/questions/2334712/update-from-select-using-sql-server을 table_A는 "일부 표"의 별칭이다 방법에주의 이 예제에서. 메모 N1 대 N2가 문제라고 생각하고 있습니다 – xQbert

답변

0

이 시도 ..

UPDATE N1 
SET MASTER_RECORD_NUMBER = 
(SELECT MAX(MASTER_RECORD_NUMBER) 
FROM NOTES N2 
WHERE N1.CUSTOMER_NO = N2.CUSTOMER_NO 
AND N2.MASTER_RECORD_NUMBER < N1.MASTER_RECORD_NUMBER 
AND N2.CODE IS NOT NULL) 
from notes n1 
WHERE N1.CODE IS NULL; 
+1

감사합니다. 이것은 나를 위해 일했다. 그것이 그렇게 비슷하다고 믿을 수는 없지만 저에게 그런 소란을 일으키고있었습니다. –

+0

@MarcPerry : 도움이 되니 기뻤습니다. 질문이 불분명했습니다.이 링크를 읽고 놀라운 빠른 답변을 얻으십시오 .https : //spaghettidba.com/2015/04/24/how-to-post-at-sql-question- on-a-public-forum / – TheGameiswar