相关疑难解决方法(0)

SQL Server 2005透视未知列数

我正在处理一组类似于以下内容的数据.

StudentName  | AssignmentName |  Grade
---------------------------------------
StudentA     | Assignment 1   | 100
StudentA     | Assignment 2   | 80
StudentA     | Total          | 180
StudentB     | Assignment 1   | 100
StudentB     | Assignment 2   | 80
StudentB     | Assignment 3   | 100
StudentB     | Total          | 280
Run Code Online (Sandbox Code Playgroud)

作业的名称和数量是动态的,我需要将结果与以下内容相似.

Student      | Assignment 1  | Assignment 2  | Assignment 3  | Total
--------------------------------------------------------------------
Student A    | 100           | 80            | null          | 180
Student B    | 100           | 80            | 100           | …
Run Code Online (Sandbox Code Playgroud)

sql sql-server pivot

19
推荐指数
2
解决办法
4万
查看次数

也许是SQL Server PIVOT?

SELECT Name1, Name2, Value FROM mytable 给我以下结果集:

Name1 Name2 Value
A     P1     1
A     P2     1
A     P3     2
B     P1     3
B     P2     1
B     P4     1

我如何将其翻译为:

       A     B
P1     1     4
P2     1     1
P3     2     null
P4     null  1

谢谢,

sql sql-server pivot sql-server-2005

6
推荐指数
2
解决办法
1077
查看次数

在T-SQL中透视数据

我有一群人.让我们称他们为A,B,C.我有一张桌子,显示他们每个月的工资是多少....

PERSON|MONTH|PAID
A      JAN   10
A      FEB   20   
B      JAN   10   
B      FEB   20   
B      SEP   30   
C      JAN   10   
C      JUNE  20   
C      JULY  30   
C      SEP   40 
Run Code Online (Sandbox Code Playgroud)

这张表可以并且确实会持续多年和多年.

有没有办法透过这个表(没有什么,因为我看到真正需要聚合,这通常在枢轴中完成)在一个看起来如下的表?

     JAN    FEB    MAR    APR    MAY    JUN    JUL    AGU    SEP
A    10     20
B    10     20     -      -      -      -      -      -      30
C    10     -      -      -      -      20     30     -      40
Run Code Online (Sandbox Code Playgroud)

以前没有碰到这样的事情但是假设这是一个常见的问题吗?

sql t-sql sql-server pivot

5
推荐指数
1
解决办法
1584
查看次数

标签 统计

pivot ×3

sql ×3

sql-server ×3

sql-server-2005 ×1

t-sql ×1