나는 서로 외래 키가있는 3 개의 테이블을 가지고 있습니다. SQL Server 저장 프로 시저를 작성하여 그 중 하나에서 레코드를 선택하려고합니다.외래 키가있는 3 개의 테이블에서 쿼리를 선택하십시오.
이제 내가 어떻게 진행할 수의 내가 모든 수상작 레코드가 ID = 2 게임을 참조하여 플레이어의 기록을 참조한다고 가정하자?
감사합니다.
나는 서로 외래 키가있는 3 개의 테이블을 가지고 있습니다. SQL Server 저장 프로 시저를 작성하여 그 중 하나에서 레코드를 선택하려고합니다.외래 키가있는 3 개의 테이블에서 쿼리를 선택하십시오.
이제 내가 어떻게 진행할 수의 내가 모든 수상작 레코드가 ID = 2 게임을 참조하여 플레이어의 기록을 참조한다고 가정하자?
감사합니다.
당신이 모든 수상 기록이 난 왼쪽을 사용 갖도록는 플레이어와 게임을 결합 지정했습니다. 그러나 Overall 코드는 where 조건에 따라 작동합니다. 당신은 내부가 WHERE 절 필터링에 가입 적용됩니다
select w.* from Winner w
left Join Player p on p.ID_player = w.player_FK
left join Game g on g.ID_game = p.Game_FK
where Game.ID_game = 2
SELECT
및 INNER JOIN
을 사용해야하며 GameID 2에서 필터링하려면 WHERE
절을 사용할 수 있습니다.
SELECT ID_Winner, Name, Lastname, Player_FK
FROM Winner
INNER JOIN Player on Player.ID_Pplayer = Winner.Player_FK
INNER JOIN Game ON Game.ID_game = Player.Game_FK
WHERE Game.ID_game = 2
내가 할 때 내 메서드에서
@SlimaneAgouram - 이것은 다른 질문입니다. 여기에서 답을 수락해야합니다 (원래 문제로 도움이 된 경우). 문제의 세부 정보와 함께 예외를 유발하는 코드 스 니펫이 포함 된 새로운 질문을 게시하십시오. –
당신의 대답은 저의 문제에 도움이되었습니다. 남은 것은 제가 제대로 작동 할 수 있도록 모든 것을 갖추고 있는지 확인하는 것뿐입니다. 감사합니다. –
이 시도
; http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html –