В MySQL в командной строке я пытаюсь напечатать названия команд, которые забили более 3 голов в одной игре, будь то команда хозяев, команда гостей или оба.
У меня есть два отношения:
Team
+---------+-----------+------+----+
| name | shortName | abbr | id |
+---------+-----------+------+----+
Game
+---------+--------------+--------------+------------+------------+
| game_id | home_team_id | away_team_id | score_home | score_away |
+---------+--------------+--------------+------------+------------+
( home_team_id и away_team_id оба внешних ключа для Team.id )
Я начал с того, что пытался найти game_ids, в котором команда забила более 3 голов:
> SELECT game_id, score_home, score_away
FROM Game
WHERE score_home > 3 OR score_away > 3;
+---------+------------+------------+
| game_id | score_home | score_away |
+---------+------------+------------+
| 7 | 6 | 2 |
| 35 | 3 | 4 |
| 70 | 4 | 1 |
| 71 | 2 | 5 |
| 84 | 5 | 1 |
| 88 | 6 | 2 |
| 97 | 1 | 5 |
| 103 | 6 | 1 |
+---------+------------+------------+
Так что я уверен, что в команде должно быть всего около 8 команд.большинство из которых забили более 3 голов.Затем я попробовал INNER JOINS, но я не совсем уверен, как это работает с двумя разными внешними ключами и условиями, но это была моя попытка:
> SELECT Team.name as Team_Name, Game.game_id, Game.score_home, Game.score_away
-> FROM Team
-> INNER JOIN Game ON Team.id=home_team_id OR Team.id=away_team_id
-> WHERE score_home > 3 OR score_away > 3;
+-------------------+---------+------------+------------+
| Team_Name | game_id | score_home | score_away |
+-------------------+---------+------------+------------+
| Arsenal | 71 | 2 | 5 |
| Everton | 7 | 6 | 2 |
| Manchester City | 70 | 4 | 1 |
| Manchester City | 84 | 5 | 1 |
| Manchester City | 103 | 6 | 1 |
| Norwich City | 88 | 6 | 2 |
| Tottenham Hotspur | 70 | 4 | 1 |
| Tottenham Hotspur | 97 | 1 | 5 |
| Newcastle United | 88 | 6 | 2 |
| Newcastle United | 103 | 6 | 1 |
| West Ham United | 35 | 3 | 4 |
| Leicester City | 71 | 2 | 5 |
| Sunderland | 7 | 6 | 2 |
| Bournemouth | 35 | 3 | 4 |
| Bournemouth | 84 | 5 | 1 |
| Bournemouth | 97 | 1 | 5 |
+-------------------+---------+------------+------------+
Это дает мне и имя домашней команды, и команду гостей, когдаЯ хочу только команду, которая набрала более 3 очков.Пожалуйста, помогите.