2016-10-21 2 views
0

私は3つのテーブルを持っています。ユーザがログインしているこのマルチテーブルSQL命令から詳細を取得するにはどのアプローチを使用しますか?

community_id | player_id 

ユーザ

id | user_email | user_password | user_name 

コミュニティ

id | name | code | admin 

community_players電子メールアドレス($email)で私のアプリに送ってください。

そのメールアドレスを使用して、離れているコミュニティを検索したいと考えています。

私のロジック現在のロジックは次のとおりです。

SELECT id FROM table users WHERE user_email = '$email' (call this new variable 'A') 

SELECT community_id FROM table community_players WHERE player_id = 'A' (call this new variable 'B') 

SELECT name FROM table communities WHERE id = 'B' 

私が取るべきアプローチ:

1)を一度に上記を達成し、コミュニティ名の配列を返す単一のMySQL文思い付きます。

または

2)を実行し、3つの別々のMySQL文はそれぞれ、私は上記使用されるロジックのように次のSQL文の()

またはその他の方法で使用するためにPHPで変数を返しますか?

答えて

1

docs mysql Join

SELECT communities.name 
FROM users 
join community_players 
on community_players.player_id=users.id 
join communities 
on communities.id=community_players.community_id 
WHERE users.user_email = '$email' 
+0

は優秀なJOINを使用して単一のクエリでこれを試してみてください!それは治療を働いた!本当に嬉しいことは、私がPHPの仕事を増やす必要がなくなったことです! – RDowns

+0

よろしくお願いします。@リチャードダウン – JYoThI

関連する問題