2016-09-07 2 views
1

두 테이블 중 하나가 이고 다른 하나는이고 다른 하나는 입니다.입니다.내부 조인을 사용하여 두 테이블을 업데이트하십시오.

질문 테이블 지금 내가 대답이 어디 doctor_id 질문에 속해 업데이트 할

answer_id, question_id, comment, rating, doctor_id 

같은 필드가 있습니다

question_id, question, type, answer_id. 

대답 테이블 같은 필드가 있습니다. 이를 위해 나는이 쿼리를 작성하는 시도 :

update question q 
set q.question = 'dmvvnnv',a.comment = 'covonfvk',a.rating = 5 
INNER JOIN answer a on q.answer_id = a.answer_id 
WHERE a.doctor_id = 8 

를하지만 나에게 구문 오류주고있다 :

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN answer a on q.answer_id = a.answer_id WHERE a.doctor_id = 8' at line 1

+0

의 사용 가능한 복제 [MySQL을 사용 : 내부 조인 사용하여 값을 업데이트 필드 (http://stackoverflow.com/questions/14006856/using-mysql-update -field-with-values-in-inner-join) – jpw

+1

또한 https://stackoverflow.com/questions/8057565/mysql-update-statement-inner-join-tables?noredirect=1&lq=1 이는 더 나은 속보 대상. – jpw

답변

2

JOIN 구문입니다 다른 경우 SET 부분은 JOIN

을 따라야합니다.

이 항목을 업데이트하려면 다음 쿼리를 사용

UPDATE question q 
INNER JOIN answer a ON a.answer_id = q.answer_id 
SET q.question = 'dmvvnnv' 
    ,a.comment = 'covonfvk' 
    ,a.rating = 5 
WHERE a.doctor_id = 8 
+2

@Arulkumar와 정확히 같았다. 이전 게시물은 http://stackoverflow.com/questions/8057565/mysql-update-statement-inner-join-tables – Nebi

+0

입니다. 모든 질문은 doctor_id에 대해 업데이트되고 있습니다. 8. 어떻게 단일 질문을 업데이트 할 수 있습니까? @Arulkumar – Sid

+0

감사합니다. .. @ Arulkumar – Sid

1

사용하여 다음

MySQL의 UPDATE를 들어
UPDATE question q INNER JOIN answer a on q.answer_id = a.answer_id 
SET q.question = 'dmvvnnv',a.comment = 'covonfvk',a.rating = 5 
WHERE a.doctor_id = 8 
+0

이 오류를 발생시킵니다 : # 1064 - SQL 구문에 오류가 있습니다. '질문에서 보낸 사람 q 근처에서 사용할 올바른 구문에 대해서는 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. INNER JOIN 대답 a q.answer_id = a.answer_id WHERE a.doctor'at 2 @ AT-2016 – Sid

+0

지금 확인하십시오. 수정되었습니다. –

+0

이 모든 질문은 doctor_id에 대해 업데이트되고 있습니다 8. ​​어떻게 단일 질문을 업데이트 할 수 있습니까? @ AT-2016 – Sid

관련 문제