2017-09-20 6 views
-2
UPDATE Record SET Record.CreateID = c.CreateID 
FROM @RecordIDList r ,@CreateIDList c 
WHERE r.ID = Record.ID 

여기 @RecordIDList@CreateIDList이 쿼리는 @RecordIDList가이 기록을 업데이트 레코드 5 IDS가있는 경우 지금 직면하고있는 유일한 문제는 잘 작동 여러 행의 범위 ID로 작용하는 출력 조항입니다 테이블을 업데이트하지만 5 행 모두에 대해 동일한 c.CreateID으로 업데이트하고 최상위 퍼팅은 c.CreateID입니다. 나는 물건을 놓치고 있거나 잘못하고있는 것이 있습니까? 나는 SSMS를 사용하고있다. 2014업데이트 쿼리 MSSQL은

Record.ID | Content | CreateID 
------------------------- 
     1 | Khar | 1 
     2 | SantaCr | 2 
     3 | Sion | 3 
     4 | VT  | 4 
     5 | newFort | 5 
     6 | Bandra | 6 
     7 | Worli | 7 


CreateID | Date  | 
------------------------- 
     1 | 21-09-2017 | 
     2 | 21-09-2017 | 
     3 | 21-09-2017 | 
     4 | 21-09-2017 | 
     5 | 21-09-2017 | 
     6 | 21-09-2017 | 
     7 | 21-09-2017 | 
+2

http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using -old-style-joins.aspx –

+3

질문의 경우 우리는 함께 작업해야 할 것이 있습니다. 적어도 샘플 데이터와 테이블 구조. –

+0

@SeanLange 두 마리, 한 돌;) – Sami

답변

0

@RecordIDList와 @CreateIDList 테이블 변수는 무엇인가? 그렇다면,이 @CreateIDList에 일치하는 기록에서 @RecordIDList를 업데이트합니다 :

UPDATE r 
    SET r.CreateID = c.CreateID 
FROM @RecordIDList r 
    JOIN @CreateIDList c 
     ON c.ID = r.ID 
+0

테이블 구조를보십시오 –