私はユーザーとゲームを持つデータベースを持っています。 1ゲームには複数のユーザーがいるので、私はusers_gamesというリンクテーブルを作った。要するに、ゲームはボードゲームなので常に2人のプレイヤーしか持てないということです。私はどのプレイヤーを知っていますか、私は自分のuser_idと私のメールを持っていますが、私はuser_idと他の同僚の電子メールを持っているすべてのゲームのリストを私に提供したいと思います。つまり、私が入っているすべてのゲームを見て、もう1つの行にプレイヤーの名前を付けるクエリです。結合されたjquery結果のWHERE句の反対側の行を選択してください
マイテーブル:
ゲーム
id (int)
board (varchar) representation of the board
ユーザー
id (int)
email (varchar)
password (varchar MD5)
users_games
明確にするためこのクエリ
SELECT *
FROM `tic_users_games` AS ug
LEFT JOIN tic_users AS u
ON ug.user_id = u.id
RIGHT JOIN tic_games AS g
ON ug.game_id = g.id
そして
id user_id game_id id email password id board created updated
1 1 1 1 [email protected] d56b699830e77ba53855679cb1d252da 1 0|0|0|0|0|0|0|0|0 2012-04-02 16:56:06 2012-04-02 16:56:06
2 2 1 2 [email protected] d56b699830e77ba53855679cb1d252da 1 0|0|0|0|0|0|0|0|0 2012-04-02 16:56:06 2012-04-02 16:56:06
3 3 2 2 [email protected] d56b699830e77ba53855679cb1d252da 2 0|0|0|0|0|0|0|0|0 2012-04-02 16:56:06 2012-04-02 16:56:06
4 1 2 1 [email protected] d56b699830e77ba53855679cb1d252da 2 0|0|0|0|0|0|0|0|0 2012-04-02 16:56:06 2012-04-02 16:56:06
参照の結果:上記のケースで、私はちょうど2行たい:game_id 1および2、FOE1と@ ...とFOE2を@ ...
おかげ
だけマイナーなものが、 'FOE2 @ gmail.com'が '3'のような異なる' user_id'を持つべきではありませんか?以下は、あなたがテストできるスキーマの設定です:http://www.sqlfiddle.com/#!2/7b0f6 – mellamokb
あなたは正しい相手です...私はプライバシーの目的でemailaddressesを変更しました。 Gr。 –