2013-11-20 3 views
0

해당 열을 업데이트해야하는 ChildTable이 있습니다.2 개의 테이블에 대한 내부 쿼리 및 조인

여기서 조건 값은 상위 테이블 ID 열에서 선택됩니다.

Update ChildTable set Column1 = 'Value', Column2 = 'Value2' 
Where ChildTable.Id = 100 
+0

DBMS 란 무엇입니까? –

+0

@FilipeSilva 'Update with Join'쿼리는 모든 RDBMS에서 다릅니 까? –

+0

전혀 허용하지 않는 DBMS가 있습니다. 그리고 다른 DBMS에도 차이점이 있습니다. –

답변

1

보십시오 다음

Update ChildTable set Column1 = 'Value', Column2 = 'Value2' 
from ChildTable ct 
inner join parenttable pt on pt.key = ct.parentkey 
Where ChildTable.Id = pt.parentconditionfield 
0

최초의 사용은 선택하고 업데이트 할 적절한 기록을 얻고 있는지 확인하십시오.

귀하 께서 적절한 정보를 제공해주지 않았지만 귀하의 예에서 본 결론에 도달했습니다.

SELECT c_t.column1, c_t.column2 
FROM parent_table p_t inner join child_table c_t 
ON  p_t.pk_column = c_t.fk_column 
WHERE c_t = 100; 



UPDATE c_t 
set c_t.column1 = 'Value', c_t.column2 = 'Value2' 
FROM parent_table p_t inner join child_table c_t 
ON  p_t.pk_column = c_t.fk_column 
WHERE c_t = 100;