1
이 질문은 SQL에서 중간 테이블을 사용하지 않고 있으므로 질문 할 때 짜증이납니다. 그러나 나는 어쨌든 물어보기로 선택했습니다.세 번째 테이블에서 데이터 가져 오기
같은 리피터에서 "교사"와 "팀"및 "레벨"의 데이터를 검색 할 수 있도록이 sql 코드를 결합하고 싶습니다.
내가 FK_team을 통해 우리 팀의 테이블에 관련되어 middletable "teacher_team"에서 FK_teacher을 통해 "교사"테이블에서 이름을 잡는거야
혹시이 때문에 결합 할 수 있을까 난 하나의 중계기를 통해 모든 것을 추출 할 수 있습니까?
// Team <-> level relation
SELECT
team.team_id as team_id,
level.level as level,
FROM team
INNER JOIN level ON level.level_id = team.team_FK_level
WHERE team.team_FK_type = @id
// Team <-> Team_Teacher <-> Teacher relation
SELECT teacher.teacher_name as name
FROM teacher WHERE teacher.teacher_id
IN (
SELECT teacher_team.FK_teacher
FROM teacher_team
INNER JOIN team ON team.team_id = teacher_team.FK_team
WHERE team.team_FK_type = @id
)
* EDIT * 는 라비 싱의 답변에 따라 작업이 코드를 얻었다. 다른 문제가 발생했습니다. 내 repeater는 teacher_teams에 관련 교사가 두 명있는 경우 팀 행을 두 번 출력합니다. 리피터를 리피터 안에 넣지 않고 병합 할 수있는 방법이 있습니까?
SELECT
team.team_id as team_id,
level.level as level,
teacher_team.FK_teacher,
teacher.teacher_name as teacher
FROM team
INNER JOIN level ON level.level_id = team.team_FK_level
LEFT JOIN teacher_team on teacher_team.FK_hold = team.team_id
LEFT JOIN teacheron teacher.teacher_id = teacher_team.FK_teacher
WHERE team.team_FK_type = @id
. 내 팀 <-> Team_Teacher <-> 교사 관계가 똑같습니다. – GentlemenFinn
@GentlemenFinn : 도움이 되나요? –
팀이 내 메인 테이블이므로 주변을 돌았습니다. 하지만 예 = 근무했습니다. 중간 테이블에 가입하는 것만으로 원하는 모든 테이블을 얻을 수 있다는 것을 알지 못했습니다. – GentlemenFinn