关于这个问题,我有一个问题,我想不通。
我试着将下面的值作为轴心,这里是一些示例数据。
Line ID Password
1 C1 Llama
1 C1 Elbow
1 C1 TV
2 C2 Password
变成这样。我能做的最大列数可以限制为15或10。
Line ID Password1 Password2 Password3
1 C1 Llama Elbow TV
2 C2 Password BLANK/NULL BLANK/NULL
我在下面的几次迭代中尝试过类似的东西
SELECT ID, [1], [2], [3] FROM (
SELECT * exampletable) AS T
PIVOT (MAX(PASSWORD) FOR Line IN ([1], [2], [3])) AS PVT
2条答案
按热度按时间i2byvkas1#
我建议使用窗口函数和条件聚合。如果您有一个定义记录顺序的列,那么这就更有意义了——我假设是这样的
ordering_id
.您可以扩展
select
外部查询的子句,以根据需要处理更多可能的值(line, id)
元组。pgvzfuti2#
如果有一个动态的密码数,那么代码应该动态匹配。
缺少数据透视的枚举。