나는 SQL에는 프로 해요 그러나 나는 다음과 같은 SELECT와 함께 주위를 연주 해요 :: 여러 필드는 같은 이름
SELECT
certificate.id,
certificate.date_created,
certificate.date_approved,
certificate.notes,
certificate.id_user_student,
certificate.id_user_exm,
certificate.id_user_eval,
user.name AS student_name,
user.name AS exm_name,
user.name AS eval_name
FROM certificate
LEFT JOIN
user ON certificate.id_user_student = user.id AND
certificate.id_user_exm = user.id AND
certificate.id_user_eval = user.id
이 나의 ideia가에서 name
열을 할 수있다 테이블 user
및 JOIN
모든 사용자 ID 필드에 대해 certificate
테이블에 배치하십시오. 테이블 certificate
열 id_user_student
, id_user_exm
, id_user_eval
테이블 user
에 사용자 ID를 사용할 수 포함 나는 결과 집합에 자신의 이름을 원하는에서
.
현재 쿼리는 첫 번째 결과에만 올바르게 작동합니다. 아무도 내가 어떻게이 문제를 해결할 수 있다고 말할 수 있습니까?
감사합니다.
INNER JOIN? 또한 왜 ID가 세 id_user_student, id_user_exm, id_user_eval 모두와 일치해야하는지 확신 할 수 없습니다. ON 조건이 하나의 외래 키와 하나의 기본 키를 일치 시키도록 인증서 테이블을 정규화하는 것을 고려하십시오 .... –
@ A.O. 나는 OP가 세 개의 외래 키 열 각각에 대해 별도의 이름 조회를 원한다고 생각합니다. – spencer7593
@ spencer7593 당신이 맞습니다. 왜냐하면 모든 학생, emx 및 evals는 'user' 테이블에있는 사람들이며 모두 인증 프로세스에 참여하고 있기 때문입니다. ;) – TCB13