2016-05-31 2 views
2

나는이 보이는 테이블이라고 player_league이 사용하는 가입 : enter image description here테이블이 외래 키

ID와 leagueID 각각 사용자와 리그 테이블에 열을 참조하는 외래 키됩니다.

데이터베이스를 쿼리하여 player_leagues 테이블에서 리그 아이디가 1 인 모든 사용자를 얻으 려합니다.

나는 일반적으로 MySQL과 SQL에 새로운 오전 있다는 enter image description here

처럼 보이는이 쿼리

SELECT leagueID from users join player_league pl WHERE pl.leagueID = 1 

데이터를 반환, 내가 잘못하고 있었는지 궁금 해서요? 나는 그것이 내 조인과 관련이 있다고 믿지만 테이블을 어떻게 설정했는지는 확실하지 않습니다. 이 사용자의 테이블에 leagueID이 없기 때문에 각 사용자가 아마 당신은 다음과 같이 원하는 1.

답변

0

도움을 두 테이블을 조인하는 방법을 데이터베이스에 지시하는 join 절의 on 부분이 누락되었습니다. 기본값은 카디 전 곱이며, 즉, 첫 번째 테이블의 모든 행과 두 번째 테이블의 모든 행을 연결하는 데카르트 곱입니다. 이 경우

, 당신은 userID에 가입 할 수 있습니다 :

SELECT u.* 
FROM users u 
JOIN player_league pl ON u.userID = pl.userID 
WHERE pl.leagueID = 1 
+1

아! 나는 그것이 많은 의미를 가진다는 것을 알았다. 고맙습니다! – hokster23

0

의 leagueID을 왜 나는 확실하지 않다 :

select * from user left join player_league on user.id = player_league.userId where player_league.leagueId = '1' 

는 희망이