【发布时间】:2013-01-20 12:45:54
【问题描述】:
我有这两张桌子。我有当前玩家 id_player,我想从该玩家 (id_player) 和他的对手信息中选择所有游戏。当前玩家和对手玩家连接到相同的 id_game。或
table game:`id_game` (...)
table game_player:`id_game_player, id_player, id_game`(...)
“给我所有与当前玩家和他的对手不同的游戏信息 并加入他们游戏的信息(按游戏分组)”
结果为:
+---player game info
game1 |
+---opponent game info
+---player game info
game2 |
+---opponent1 game info
+---player game info
game2 |
+---opponent2 game info
谁能提供我的 MySQL 解决方案?
谢谢
编辑: 我尝试使用这段代码,但我不确定这是最快的方式(在哪里),有没有办法像上面那样对结果进行分组?
SELECT * FROM game_player
JOIN `game` ON game.id_game = game_player.id_game
WHERE game_player.id_game
IN (
SELECT game_player.id_game
FROM `game_player`
WHERE game_player.id_player =2)
【问题讨论】:
-
游戏信息在哪里?
-
“游戏信息”表示表中的所有其他字段 *
-
问题措辞“给我所有单独的游戏信息...” 使这听起来很像作业问题。你能发布你到目前为止的努力吗?
-
我只看到一个
player_id每场比赛的另一个对手 player_id 在哪里? -
对手player_id是其他同id_game的玩家
标签: mysql sql union inner-join