[SQL] 다른 테이블을 기반으로 업데이트 테이블
SQL다른 테이블을 기반으로 업데이트 테이블
나는 다른 테이블의 다른 열을 기준으로 테이블의 열을 업데이트하기 위해 노력하고있어.
UPDATE eval e
SET rank = (SELECT p.desc
FROM Position p
WHERE p.id = e.faculty
AND p.date >= '2011-05-20'
)
p.id 및 e.faculty에 해당합니다. 나는 아이디의이 같은 경우 p.desc으로 순위를 업데이트 할. (e.faculty 및 p.id)
어떤 도움도 좋을 것! :)
해결법
-
==============================
1.SQL Server에 대한이 시도 :
SQL Server에 대한이 시도 :
UPDATE dbo.eval SET rank = p.desc FROM dbo.Position p WHERE p.id = eval.faculty and p.date >= '2011-05-20'
당신이 기본 테이블에 별칭을 필요로하는 경우 또는 (어떤 이유), 당신은이 작업을 수행 할 필요가 :
UPDATE dbo.eval SET rank = p.desc FROM dbo.eval e INNER JOIN dbo.Position p ON p.id = e.faculty WHERE p.date >= '2011-05-20'
-
==============================
2.당신은 WHERE 절 형태의 제한이 필요합니다; 당신이 사용하는 경우 당신 스칼라 하위 쿼리 예를 들어, 그것을 기반으로 할 수 EXISTS
당신은 WHERE 절 형태의 제한이 필요합니다; 당신이 사용하는 경우 당신 스칼라 하위 쿼리 예를 들어, 그것을 기반으로 할 수 EXISTS
UPDATE eval SET rank = ( SELECT p.desc FROM Position p WHERE p.id = eval.faculty AND p.date >= '2011-05-20' ) WHERE EXISTS ( SELECT * FROM Position p WHERE p.id = eval.faculty AND p.date >= '2011-05-20' );
위의 목표를 기본 테이블 평가보다는 상관 관계 이름 전자에 업데이트를합니다. 이것은 당신이 범위 밖으로 갈 것 때문에 (기본 테이블과는 달리) 전자에 할당하지 않으 즉 관계형 과제의 관점에서 SQL UPDATE 생각 많은 의미가 있습니다!
from https://stackoverflow.com/questions/6023367/update-table-based-on-another-table by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 센서 / 읽기 / 경고 데이터베이스 설계에 대한 의견 (0) | 2020.07.06 |
---|---|
[SQL] 열과 행을 변환하는 방법 (0) | 2020.07.06 |
[SQL] SQL 테이블에 Active Directory 데이터 (0) | 2020.07.06 |
[SQL] 자신의 SQL Server 2005의 책과 SQL 서버 2008 책에 Itzik 벤 웨이 코 뮤니시의 논리 질의 처리 순서에 대해 혼란 (0) | 2020.07.06 |
[SQL] 안드로이드 cursor.moveToNext ()? (0) | 2020.07.06 |