我应该使用哪种方法从这个多表SQL指令中检索详细信息?



我有3个表。

id | user_email | user_password | user_name

id | name | code | admin

community_players

community_id | player_id

一个用户用他们的电子邮件地址($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语句,每个语句返回一个PHP变量,以便在下一个SQL语句中使用(就像我上面使用的逻辑)

或其他方法?

在单个查询中使用JOIN 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'

最新更新