La base de données est assez simple. Ci-dessous, il y a une partie d'un schéma correspondant à cette questionBase de données de modélisation d'une petite ligue de football
ROND (
round_id, round_number
)ÉQUIPE (
team_id, team_name
)MATCH (
match_id, match_date, round_id
)ISSUE (
team_id, match_id, score
)
J'ai un problème avec la requête pour récupérer des données pour tous les matches joués. La requête simple ci-dessous donne bien sûr deux lignes pour chaque match joué.
select *
from round r
inner join match m on m.round_id = r.round_id
inner join outcome o on o.match_id = m.match_id
inner join team t on t.team_id = o.team_id
Comment écrire une requête pour avoir les données de correspondance sur une ligne?
Ou peut-être devrais-je revoir la base de données - déposer la table OUTCOME
et modifier la table MATCH
pour ressembler à ceci:
- MATCH (
match_id, match_date, team_away, team_home, score_away, score_home
)?
Ce sera très compliqué comme c'est ... Il serait probablement plus facile de garder le résultat dans la table 'MATCH', sauf si vous avez une raison de les garder séparés. À tout le moins, un drapeau home/away ou quelque chose de similaire dans la table 'OUTCOME' simplifierait grandement les choses. – jswolf19