在我的MySQL数据库中,我有一个带有PK id_duel
的主表,另一个带有PK id_duel_player
的表以及两个FK的id_player
和id_duel
。
对于每个id_duel
,我都有两个具有相同id_duel
的玩家(两个玩家进行一场决斗)。
我要构建以下语句:给我由这两个玩家组成的对决(id_duel
)($id_player1
和$id_player2
-这是参加所需对决的两个不同玩家的id_player)
谁能帮助我处理SQL语句?
最佳答案
您应该可以使用JOIN
来确保两个播放器具有相同的id_duel
:
SELECT id_duel
FROM duels d
INNER JOIN duel_player dp1
ON d.id_duel = dp1.id_duel
AND dp1.id_player = @id_player1
INNER JOIN duel_player dp2
ON d.id_duel = dp2.id_duel
AND dp2.id_player = @id_player2