我有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'