TL; DR
我需要从表Matches_teams
的每一行中选择两行和两列,并更新表Matches
中的一行和4列。
我的问题:
请考虑以下示例:一个类似于足球幻想的数据库。有足球球队,比赛,它们必须始终包括两支不同的球队,并且每支球队都有赔率
我有下表:
表匹配项:
Matches
--------
ID | date | team_winner_id | score
然后,我创建了联合表Matches_teams
。以下,对于每个比赛,必须始终有两个不同的队伍,并分别具有赔率
Matches_teams
--------------
ID | team_id | match_id | odds
Matches_teams
表的示例记录:
ID | team_id | match_id | odds
-------------------------------
1 | 5 | 22 | 0.8
2 | 6 | 22 | 2.2
3 | 12 | 56 | 1
4 | 3 | 56 | 2.1
现在我意识到联合表Matches_teams
确实不是必需的。如果一场比赛只能并且将永远有两支球队,我可以像这样在Matches
表中为每支球队及其赔率添加一列
Matches
--------
ID | team_a_id | team_a_odds | team_b_id | team_b_odds | date | team_winner_id | score
以上面的Matches_teams
数据为例,我希望重组后的Matches
数据看起来像这样:
Matches
ID | team_a_id | team_a_odds | team_b_id | team_b_odds | date | team_winner_id | score
---------------------------------------------------------------------------------------
22 | 5 | 0.8 | 6 | 2.2 | .. | ....
56 | 12 | 1 | 3 | 2.1 | .. | ....
任何MySQL操作可以做到这一点?根据给定的匹配ID,该操作将根据从Matches
中选择的数据并在Matches_teams
等于Matches.id
的条件下更新Matches_teams.match_id
的现有记录>