二维网格加入T-SQL?表中的行到行相关?

时间:2017-08-10 01:09:55

标签: sql sql-server tsql join datagrid

老实说,我不知道该怎么称呼它,我觉得我可能会遗漏一些非常基本的东西,但我整天都在搜索互联网,却一直无法找到简单或直截了当的东西。 T-SQL操作要做我想要的。

我正在建立一个包含锦标赛比赛数据的数据库,我希望在大网格中显示任意两名球员之间的球员对决(总胜/负)。例如,如果我有这个组合临时表:

Player1 wins losses Player2
A       4    2      B
A       1    3      C
B       2    4      A
B       0    5      C
C       3    1      A
C       5    0      B

我想找到一种方法将这些结果放在网格中,如下所示:

      A     B     C
A     0/0   4/2   1/3
B     2/4   0/0   0/5
C     3/1   5/0   0/0

当然,这是一个超简化的例子。实际上可能有数十甚至数百名玩家。无论有多少玩家,它都需要能够无缝地工作。我将从报告风格的过程中运行它来分析数据,其格式可以复制/粘贴到excel中。

我确信我可以通过一些非常复杂的动态SQL来做这样的事情,但我希望有更好/更标准的方法来构建这种方式的查询。

我有一种感觉,我甚至可能在很多年前在大学里学会了如何做到这一点,但后来却忘记了。

1 个答案:

答案 0 :(得分:4)

  

编辑2 - 来源将成为临时表,而Player1将全部包含

示例

background-image

<强>返回

can have

如果它有助于可视化子查询“喂养”,Pivot看起来像这样:

enter image description here

  

现在,如果源温度包含所有组合

%