본문 바로가기
MySql

MySQL 한 테이블의 여러 열을 다른 테이블의 단일 열에 결합

by 베이스 공부 2020. 9. 21.
반응형

한 테이블의 여러 열을 다른 테이블의 단일 열에 조인하는 방법을 배우려고합니다.

가장 간단한 형식의 테이블 구조입니다.

id | team_name |
1  |   teamA   |
2  |   teamB   |
3  |   teamC   |
4  |   teamD   |

거래

id |  team_1 (FK to teams.id)  |  team_2 (FK to teams.id)  |
1  |            1              |              2            |
2  |            3              |              4            |

이것은 trades.team_1을 teams.id에 조인하는 현재 SQL입니다.

SELECT teams.team_name AS team1, teams.team_name AS team2, trades.team_1, trades.team_2
FROM teams
JOIN trades ON (trades.team_1 = teams.id);

제 질문은 trades.team_2를 trades.id에 조인하는 두 번째 조인을 어떻게 생성합니까?

이것은 trades.team_1과 trades.team_2가 모두 trades.id에 결합된다는 것을 의미합니다.

원하는 결과는 다음과 같습니다.

team1  |  team2  |  team_1  |  team_2  |
teamA  |  teamB  |    1     |     2    |
teamC  |  teamD  |    3     |     4    |

 

해결 방법

 

이렇게 :

select t1.team_name as team1, t2.team_name as team2, t.team_1, t.team_2
from trades t
inner join teams t1 on t1.id = t.team_1
inner join teams t2 on t2.id = t.team_2;

 

참조 페이지 https://stackoverflow.com/questions/9114781

 

 

반응형

댓글