相关疑难解决方法(0)

也许是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
查看次数

SQL Pivot命令

我正在寻找一些关于设计简单数据透视的帮助,以便我可以将它链接到我的查询的其他部分.

我的数据是这样的

物品表

如果我跑,下面是我的表 Select * from items

ITEM      Weight    
12345         10    
12345         11    
654321        50    
654321        20    
654321       100
Run Code Online (Sandbox Code Playgroud)

此表中有数百个项目,但每个项目代码每个最多只有3个权重记录.

我想要所需的输出

ITEM     Weight_1    Weight_2     Weight_3
12345          10          11         null
654321         50          20          100
Run Code Online (Sandbox Code Playgroud)

将会感激任何建议,我已经玩过枢轴,但每个后续项目将权重放入权重4,5,6,7等,而不是从每个项目的权重1开始.

谢谢

更新

以下是我到目前为止使用的,

SELECT r.*
FROM   (SELECT 'weight' + CAST(Row_number() OVER (ORDER BY regtime ASC)AS
                               VARCHAR(10))
                      line,
               id,
               weight
        FROM   items it) AS o PIVOT(MIN([weight]) FOR line IN (weight1, weight2,
       weight3)) AS r  
Run Code Online (Sandbox Code Playgroud)

sql sql-server pivot

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

标签 统计

pivot ×2

sql ×2

sql-server ×2

sql-server-2005 ×1