当前位置: 首页 > 知识库问答 >
问题:

sqlserver 2008中行到列的交换[重复]

章嘉致
2023-03-14

如何将行交换到列,我有一个输出,如

 employeeName   payHead  amount

Samam          Basic    20000.000000 
Samam          Test1    11.000000
Samam          Test2    22.000000   
Ravi kumar     Test1    55.000000
Ravi kumar     Test2    66.000000
Ravi kumar     Basic    3000.000000

我需要一个输出比如

employeeName   Basic             Test1         Test2   

 Samam          20000.000000      11.000000    22.000000 
 Ravi kumar     3000.000000       55.000000    66.000000

共有1个答案

水昊阳
2023-03-14

简单的PIVOT查询:

DECLARE @Test TABLE (employeeName  nvarchar(max),
                     payHead nvarchar(max),
                     amount float);

INSERT INTO @Test
VALUES
('Samam',          'Basic',    20000.000000),
('Samam',          'Test1',    11.000000),
('Samam',          'Test2',    22.000000),   
('Ravi kumar',     'Test1',    55.000000),
('Ravi kumar',     'Test2',    66.000000),
('Ravi kumar',     'Basic',    3000.000000);

SELECT *
FROM @Test t
PIVOT
(
    MAX(amount)
    FOR payHead IN (Basic,Test1,Test2)
) as p
ORDER BY Basic;
 类似资料:
  • 问题内容: 例如,我有一个像这样的矩阵: 我需要将其转换成这样的矩阵: 实现此目标的最佳方式是什么? 问题答案: 请参阅文章:在JavaScript和jQuery中转置数组

  • 我有一个这样的数据框, 因为传感器的数量是可变的,所以我决定把它们写成行,比如, 我想知道是否有任何方便的方法将df1转换为df2? 附录:为方便起见,df1代码,

  • 我有上面的数据集,< code>dat1,其中每一行对应一个唯一的< code>id。对于每个< code>id,< code>class或< code>hobby的多个输入由逗号分隔。 我想交换此数据集的行和列,以便获得以下内容: 在此数据集中,每一行都对应于来自< code>dat1的唯一< code >输入。现在< code>class和< code>hobby列存储来自< code>dat

  • 问题内容: 这个问题已经在这里有了答案 : 如何在MySQL中返回数据透视表输出? (8个答案) 6年前关闭。 我在将行移至列和将列移至行时遇到问题。如果只是将行转置为列或将列转置为行,则可以这样做。 这是我的数据表 我想得到以下输出 等等.. 有人知道该怎么做吗?非常感谢! 问题答案: 你可以这样 输出: 这是 SQLFiddle 演示

  • 问题内容: 我有桌子 返回的值是 如何将这些数据从行转移到列?我要这样 问题答案:

  • 我有一个数据框,如下所示 如何从它创建一个单独的x和y列?