2016-05-31 3 views
2

を使用して、テーブルで登録しよう:enter image description hereが、私はこのようになりますplayer_leagueと呼ばれるテーブルを持つ外部キー

ユーザーIDとleagueIDは、それぞれのユーザーとのリーグテーブルの列を参照する外部キーです。

データベースを照会して、player_leaguesテーブルから1のリーグIDを持つすべてのユーザーを取得したいとします。

私は、一般的にMySQLとSQLに新しいですということでenter image description here

のように見えるこのクエリ

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

データを返します、私は私が間違って何をしていたか不思議でしたか?私はそれが私の結合と関係があると信じていますが、それは私がテーブルをセットアップする方法かもしれませんが、私は確信していません。そこusersテーブルにはleagueIDはありませんので、私は、各ユーザーが1

答えて

0

を支援します2つのテーブルを結合する方法をデータベースに指示するjoin句のon部分がありません。デフォルトはデカルト積であり、すなわち、第1のテーブルのすべての行と第2のテーブルの各行とを結合する。この場合

、あなたは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' 

ホープこれは

関連する問題