Sql server SQL如何将行合并为一行
我从查询中获得以下数据:Sql server SQL如何将行合并为一行,sql-server,tsql,pivot-table,Sql Server,Tsql,Pivot Table,我从查询中获得以下数据: SELECT Match.MatchID, [Set].SetValue, Game.GameValue FROM Game INNER JOIN [Set] ON Game.SetID = [Set].SetID INNER JOIN Match ON [Set].MatchID = Match.MatchID ORDER BY Match.MatchID, [Set].SetValue, Game.GameValue desc 我想要达到的是以下结果: 您
SELECT Match.MatchID, [Set].SetValue, Game.GameValue
FROM Game INNER JOIN
[Set] ON Game.SetID = [Set].SetID INNER JOIN
Match ON [Set].MatchID = Match.MatchID
ORDER BY Match.MatchID, [Set].SetValue, Game.GameValue desc
我想要达到的是以下结果:
您可以使用条件聚合:
select s.matchid,
concat(max(case when s.setvalue = 1 then g.gamevalue end), '-',
min(case when s.setvalue = 1 then g.gamevalue end)
) as set1,
concat(max(case when s.setvalue = 2 then g.gamevalue end), '-',
min(case when s.setvalue = 2 then g.gamevalue end)
) as set2
from Game g join
[Set] s
on g.SetID = s.SetID
group by s.matchid;
请阅读一些关于改进您的问题的提示。一些可能是数据的图像,没有解释如何从输入中获得所需的结果,这对我们没有帮助。显然,有人能够回答我的问题,所以也没那么糟糕。