Comment combiner deux lignes en une dans PostgreSQL?
Sagit Khaliullin
Je sélectionne les données de 2 tables dans postgres de cette manière:
SELECT matches.id id, first_team_id T1, second_team_id T2, name
FROM matches
JOIN teams ON matches.first_team_id = teams.id
UNION
SELECT matches.id id, first_team_id T1, second_team_id T2, name
FROM matches
JOIN teams ON matches.second_team_id = teams.id
Voilà à quoi ressemble ma table maintenant:
id T1 T2 name
1 1 2 Team1
1 1 2 Team2
2 1 3 Team2
2 1 3 Team1
C'est ce dont j'ai besoin
id T1 T2 name1 name2
1 1 2 Team1 Team2
2 1 3 Team2 Team1
J'ai besoin du moyen le plus simple de le faire. J'ai vu des solutions dans des questions similaires, mais je n'ai pas réussi avec elles. Aidez-moi, s'il vous plaît
Gordon Linoff
Vous pouvez faire ce que vous voulez avec deux jointures:
select m.id, m.first_team_id, m.second_team_id, t1.name, t2.name
from matches m join
teams t1
on m.first_team_id = t1.id join
teams t2
on m.second_team_id = t2.id;