2013-04-23 42 views
0

在我的MySQL數據庫中,我有一個主表PK id_duel和另一個表PK id_duel_player和兩個FK的id_playerid_duelmysql連接主表與另一個外鍵

對於每id_duel我有兩個玩家相同id_duel(兩個玩家決鬥)。

我想建立這樣一句話:給我(id_duel)由這兩名球員($id_player1$id_player2 - 這是參加要求決鬥的兩個不同的球員id_player)的對決

mySql tables

任何人都可以幫助我的SQL語句?

回答

1

您應該能夠使用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 
+0

究竟防止在不同的順序返回重複結果此查詢? IE:Player1 VS Player2和Player2 VS Player1或者這是預期的? – 2013-04-23 18:56:38

+0

我對這個問題的解釋是,秩序並不重要 - 重點在於找到與這兩名球員完全相同的決鬥。 – 2013-04-23 19:01:36

相關問題