간단한 답이 있기를 바랍니다. 경쟁자는 일련의 3 개 종족을 통해 경쟁합니다. 일부 경쟁자는 한 경주에만 나타납니다. 모든 경쟁자에게 어떻게 최종 결과를 보여줄 수 있습니까?행 수가 다른 표에서 선택하십시오.
레이스 1
+------+--------+
| name | result |
+------+--------+
| Ali | 30 |
| Bob | 28 |
| Cal | 26 |
+------+--------+
인종이
+------+--------+
| name | result |
+------+--------+
| Ali | 32 |
| Bob | 31 |
| Dan | 24 |
+------+--------+
레이스 3
+------+--------+
| name | result |
+------+--------+
| Eva | 23 |
| Dan | 25 |
+------+--------+
최종 결과는 다음과 같아야합니다
+------+--------+--------+--------+
| name | result | result | result |
+------+--------+--------+--------+
| Ali | 30 | 32 | |
| Bob | 28 | 31 | |
| Cal | 26 | | |
| Dan | | 24 | 25 |
| Eva | | | 23 |
+------+--------+--------+--------+
내가 가진 문제는 여러 테이블의 이름순으로 정렬하는 것입니다.
CREATE TABLE race (name varchar(20), result int);
CREATE TABLE race1 LIKE race;
INSERT INTO race1 VALUES ('Ali', '30'), ('Bob', '28'), ('Cal', '26');
CREATE TABLE race2 like race;
insert INTO race2 VALUES ('Ali', '32'), ('Bob', '31'), ('Dan', '24');
CREATE TABLE race3 LIKE race;
INSERT INTO race3 VALUES ('Eva', '23'), ('Dan', '25');
많은 감사 :
다음은 예제 데이터입니다! 여기
내가 한 테이블에서 모든 인종을 두는 것을 권 해드립니다. 'CREATE TABLE race (name varchar (20), race_id, result int);' 이렇게하면 쿼리하는 것이 훨씬 쉬워집니다. 특히 나중에 더 많은 종족을 추가하고 싶다면. –
나는 그것을 시도했지만 오른쪽 출력 형식으로 이름 당 여러 행을 얻기 위해 피벗을 포함하지 않은 쿼리를 만들 수 없었다. 너는 제안이 있니? – logicmonkey
새로운 대답을 만들었습니다. –