如何成功完成此INSERT JOIN WHERE SQL语句?

时间:2016-10-19 08:59:30

标签: php mysql

我希望从表中向社区插入来自各个表的community_id和player_id;满足以下条件的“社区”和“用户”:

users.user_email AND communities.admin ='steve.downs@gmail.com' 和 communities.code ='HX99F9'

这就是我到目前为止所做的......

INSERT INTO TABLE community_players (community_id, player_id) FROM TABLE communities JOIN TABLE users ON id WHERE users.user_email = 'steve.downs@gmail.com' AND communities.admin = 'steve.downs@gmail.com' AND communities.code = 'HX99f9'

这些是有问题的3个表:

users id | user_email | user_password | user_name

communities id | name | code | admin

community_players community_id | player_id

2 个答案:

答案 0 :(得分:1)

应该是这样的:

INSERT INTO community_players (community_id, player_id) (SELECT communities.community_id, users.user_id FROM TABLE communities JOIN TABLE users ON id WHERE users.user_email = 'steve.downs@gmail.com' AND communities.admin = 'steve.downs@gmail.com' AND communities.code = 'HX99f9' )`

但很难说,不知道表社区和用户的数据库模式。这听起来特别奇怪的是JOIN TABLE users ON id部分......如果社区表有一个包含用户ID的字段(在该用例中可能不常见),这只会起作用。

答案 1 :(得分:1)

应该是这样的:

INSERT INTO community_players (community_id, player_id)
SELECT communities.id, users.id
FROM communities INNER JOIN users ON communities.admin = users.user_email
WHERE users.user_email = 'steve.downs@gmail.com'
AND communities.code = 'HX99f9'