Ich habe eine Tabelle und eine Abfrage, die ich benutze, um eine Liste von Spielern zurückzugeben, die die meisten Tore erzielt haben.Ist es möglich, einen JOIN zu dieser SQL-Anweisung hinzuzufügen?
Die Abfrage funktioniert gut, aber um den Namen des Benutzers zu erhalten, muss ich eine andere Abfrage basierend auf den zurückgegebenen Ergebnissen (player_id) durchführen.
Ist es möglich, meine vorhandene Abfrage zu ändern, um die beiden Tabellen zu verbinden? Ich weiß, dass dies mit einer normalen Abfrage möglich ist, ich bin nur nicht sicher, ob es in diesem Fall ist, da die benutzerdefinierte Ergebnistabelle zurückgegeben wird.
Dies ist meine erste Tabelle, genannt results
:
+----------------+-------------+-----+
| Field | Type | Key |
+----------------+-------------+-----+
| results_id | int | Pri |
| community_id | int | |
| player1_id | int | |
| player1_goals | int | |
| player2_id | int | |
| player2_goals | int | |
+----------------+-------------+-----+
Dies ist die Abfrage, die ich meine Ergebnisse zurückzukehren bin mit:
select player, sum(goals) from
((select player1_id as player, player1_goals as goals from results where community_id = 5)
union all
(select player2_id as player, player2_goals as goals from results where community_id = 5)
) p
group by player
order by sum(goals) desc
Und das ist, wie meine Ergebnisse zurückgegeben werden:
+----------------+------------+
| Player | sum(goals) |
+----------------+------------+
| 2 | 94 |
| 14 | 63 |
| 7 | 43 |
+----------------+------------+
Ist es möglich, die obige Abfrage zu ändern und einehinzuzufügenmeiner users
Tabelle:
+--------+-----------+
| id | user_name |
+---------------------+
| 2 | John |
| 7 | Andrew |
| 14 | Charles |
+--------+------------+
einen Ausgang zu bekommen:
+----------------+----------------+------------+
|user_name | Player | sum(goals) |
+----------------+----------------+------------+
| John | 2 | 94 |
| Charles | 14 | 63 |
| Andrew | 7 | 43 |
+----------------+----------------+------------+
Gibt es nur 2 Spieler in einem Spiel? Sollte nicht jeder Spieler eine Reihe einen Spielertisch haben? –