2012-06-29 3 views
-2

이것은 이전에 질문 한 부분의 업데이트 된 부분 2입니다. 나는 다음과 같은 업데이 트를 만들려고하지만,이 쿼리는 실제로 아무것도하지 않는 것 같습니다.sql 다중 조인 subselect를 사용하여 여러 행을 업데이트하십시오.

UPDATE u 
SET  graduation_class_id = gc.graduation_class_id 
FROM [user] u 
JOIN graduation_class gc 
ON  u.graduation_class_id = gc.graduation_class_id 
JOIN graduation_term gt 
ON  gt.graduation_year_id = gc.graduation_year_id 

TABLE SCHEMA 
**user 
user_id 
graduation_class_id 

**graduation_class 
graduation_class_id 
graduation_year_id 

**graduation_term 
graduation_term_id 
graduation_year_id 

목표는 일치하는 graduation_class_id 값을 사용자 테이블로 가져 오는 것입니다. 사용자가 이미 일치하는 graduation_class_id를 갖고 있지 않으면 일치 항목을 찾을 수 없기 때문에 이것이 작동하지 않는다고 들었습니다. 그것은 문제입니다, 왜냐하면 저는 실제로 거기에 적절한 것을 얻으려고 노력하고 있기 때문입니다!

답변

2

이 아이디어는 근본적으로 실패 할 운명입니다. SQL 서버가 눈금 클래스를 사용자에게 연결해야한다는 정보가 없더라도 SQL 서버가 눈금 클래스를 사용자와 직접 연결하도록하려고합니다. user_id를 졸업 용어, 클래스 또는 연도 (또는 어떤 데이터가 수동으로 SQL에 알려주는 사람)에 링크하는 어딘가에 (사용자, graduation_class, 다른 테이블에서) 어딘가에 데이터가 없다면, SQL은 마술처럼 그렇게 할 수 없습니다 당신을위한 일.

+0

그래, 나는 그 문제를 깨달았다. 도와 주셔서 감사합니다! –

+0

문제 없습니다. 행운의 코딩 베스트. – Palladium

관련 문제