我有一个匹配和得分表,看起来像这样
match_id | player1 | player2 | player1_score | player2_score |
---------|---------|---------|---------------|---------------|
1 | 1 | 2 | 30 | 50 |
2 | 3 | 1 | 35 | 10 |
3 | 1 | 4 | 40 | 20 |
4 | 2 | 3 | 20 | 25 |
5 | 4 | 2 | 65 | 15 |
6 | 3 | 4 | 10 | 20 |
并且我想用单列的分数进行查询
match_id | player | opponent | score |
---------|--------|----------|-------|
1 | 1 | 2 | 30 |
2 | 3 | 1 | 35 |
3 | 1 | 4 | 40 |
4 | 2 | 3 | 20 |
5 | 4 | 2 | 65 |
6 | 3 | 4 | 10 |
1 | 2 | 1 | 50 |
2 | 1 | 3 | 10 |
3 | 4 | 1 | 20 |
4 | 3 | 2 | 25 |
5 | 2 | 4 | 15 |
6 | 4 | 3 | 20 |
这等效于将表中的某些列与其他列串联:
match_id | player | opponent | score |
---------|---------|----------|---------------|
match_id | player1 | player2 | player1_score |
match_id | player2 | player1 | player2_score |
但是我不确定会执行什么适当的操作。 join
是我知道的唯一将表格组合起来的操作,但是这里似乎使用了错误的工具。
CONCAT
或UNION
似乎都是合理的,但在此更可取?查询是什么?
我有一个匹配和得分表,看起来像这个match_id |玩家1 | player2 | player1_score | player2_score | --------- | --------- | --------- || --------------- | ---- ----------- | ...
似乎您需要工会