Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL如何将行合并为一行_Sql Server_Tsql_Pivot Table - Fatal编程技术网

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;

请阅读一些关于改进您的问题的提示。一些可能是数据的图像,没有解释如何从输入中获得所需的结果,这对我们没有帮助。显然,有人能够回答我的问题,所以也没那么糟糕。