我有一个联盟的网球比赛结果表。只有三列:Player1,Player2和MatchResult。
根据球员是主场还是外场球员的天气,球员被列在A栏或B栏。如果列在A栏,则表示是主场球员;如果列在B列,则表示是客场球员。因此,例如,名称为G的玩家有时会出现在A栏,有时出现在B栏。
匹配结果可以包含两个或三个部分,以逗号分隔。第一部分用于组合1,第二部分用于组合2,可选的第三部分用于组合3。每个组合的每个结果首先列出主球员,而不是分号和客队。
如果我们从所附图像中选取第一个示例,则解释如下:名为F的Player1与名为B的Player2的比赛失去了以下方式: -玩家B赢得了第一盘6:2 -玩家F赢得了第二盘6:3 -玩家B赢得了第三盘13:11
我想将表格转置为2D格式,就像所附的图像一样。也就是说,每个玩家名称将首先在X和Y表轴上列出,然后每个结果将必须两次放入正确的表单元格中。曾经是主场/客场球员站姿的观点,而且还作为客场/主场球员站姿的观点(红色文字颜色)。
MySQL选择查询如何才能达到此结果?
答案 0 :(得分:0)
您可以考虑构造一个大型数据透视表,如下所示:
SELECT
Player1,
MAX(CASE WHEN Player2 = 'A' THEN MatchResult END) AS A,
MAX(CASE WHEN Player2 = 'B' THEN MatchResult END) AS B,
MAX(CASE WHEN Player2 = 'C' THEN MatchResult END) AS C,
...,
MAX(CASE WHEN Player2 = 'Z' THEN MatchResult END) AS Z
FROM yourTable
GROUP BY Player1
ORDER BY Player1;