【发布时间】:2021-09-07 00:41:40
【问题描述】:
我已经花了 2 天的时间来解决这个问题,但找不到任何帮助。
我有 2 张桌子。
1.玩家
| id | name |
|---|---|
| 1 | AA |
| 2 | BB |
| 3 | CC |
| 4 | DD |
2。匹配
| id | player_id | match_id | date | has_opponent |
|---|---|---|---|---|
| 1 | 1 | 1 | 2021-06-23 | 0 |
| 2 | 2 | 1 | 2021-06-23 | 0 |
| 3 | 3 | 2 | 2021-06-21 | 0 |
| 4 | 4 | 3 | 2021-06-22 | 1 |
预期结果
| match_id | date | first_opponent_name | second_opponent_name |
|---|---|---|---|
| 1 | 2021-06-23 | AA | BB |
| 2 | 2021-06-21 | CC | |
| 3 | 2021-06-22 | DD | DD |
我想用新列加入这两个表( first_opponent_name 和 second_opponent_name ) 如果满足以下条件:
- 如果有一个重复的 match_id 但它有不同的 player_id,则在 2 个单独的列中显示他们的名字。
- 如果只有 1 个 match_id 并且它有 1 个 player_id 并且 has_opponent 列为 0,那么这应该只显示 first_opponent_name
- 如果只有 1 个 match_id 并且它有 1 个 player_id 并且 has_opponent 列为 1,那么 first_opponent_name 和 second_opponent strong> _name 应该显示为相同的值。
【问题讨论】:
-
到目前为止您尝试了哪些方法,您在哪里卡住了?
-
那些针对性的问题,听起来像是功课?
-
我正在尝试创建一个预订系统,先生!