我希望對此有一個簡單的答案。選手參加一系列3場比賽。有些競爭對手只參加一場比賽。我怎麼能展示所有競爭對手的最終結果?從具有不同行數的表中選擇
比賽1
+------+--------+
| name | result |
+------+--------+
| Ali | 30 |
| Bob | 28 |
| Cal | 26 |
+------+--------+
比賽2
+------+--------+
| 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');
非常感謝!
我建議把所有的比賽中1臺。 'CREATE TABLE race(name varchar(20),race_id,result int);' 這應該使查詢更容易。特別是如果你想在以後增加更多的比賽。 –
我試過,但不能拿出一個查詢,沒有涉及到一個數據透視表,以獲得每個名稱的多個行到正確的輸出格式。你有什麼建議嗎? – logicmonkey
我創建了一個新的答案。 –