2017-02-07 4 views
0

저는 DB 사람이 아니며 비슷한 질문에서 대답을 찾기 위해 여기를 둘러 보았지만 그 중 하나를 찾을 수 없었습니다다른 열의 값을 조건으로 한 다른 열의 한 열에서 다른 열로 데이터 복사

나는 3 개의 컬럼 (PrimaryKey1, Table1Coln1, Table1Coln2, PrimaryKey2, Table2Coln1, Table2Coln2)을 가진 각각 2 개의 테이블을 가지고있다.

내가하려는 것은 Table2Coln2의 값을 복사하여 Table1Coln1 & Table2Coln1의 값이 같을 때 Table1Coln2에 붙여 넣는 것입니다. 문제를 복잡하게 만들려면 두 테이블의 해당하는 두 열에 같은 값을 가진 여러 행이 있어야합니다.

나는 이것을 시도했다 : 나는 쿼리를 실행하면

UPDATE Table1 
SET Table1.Table1Coln2 = Table2.Table2Coln2 
WHERE Table1.Table1Coln1 = Table2.Table2Coln1 

, 그것은 Table2.Table2Coln2 값을 입력하라고 요구하는 대화 상자를 엽니 다?!

누군가 내가 여기서 잘못하고있는 것을 말해 줄 수 있습니까?

+0

SQL Server 또는 MySQL이? 그들은 똑같은 것이 아니며 대답은 달라질 것입니다. –

+0

안녕하세요. 죄송합니다. 잘못된 태그입니다. Microsoft Access에서이 작업을 시도하고 있습니다. 편집하겠습니다 .. – user904832

+0

'Table2'는 집합의 일부가 아니므로'Table2.Table2Coln2'와'Table2.Table2Coln1'은 정의되지 않습니다. Access는 정의되지 않은 필드를 매개 변수로 처리하고 이러한 대화 상자를 표시합니다. – marlan

답변

1

당신은 표 1과 표 2에 참여해야합니다 (액세스에 사용)

UPDATE Table1, Table2 
SET Table1.Table1Coln2 = Table2.Table2Coln2 
WHERE Table1.Table1Coln1 = Table2.Table2Coln1 

MS SQL :
'CLASIC'SQL을 (MySQL의에서 사용)

UPDATE Table1 Inner Join Table2 On Table1.Table1Coln1 = Table2.Table2Coln1 
SET Table1.Table1Coln2 = Table2.Table2Coln2 
+0

이것은 효과가 있습니다. 감사. – user904832

관련 문제