gpt4 book ai didi

sql - 将行值转换为 ColumnName

转载 作者:搜寻专家 更新时间:2023-10-30 23:05:16 25 4
gpt4 key购买 nike

表: SampleTbl

 Values    Name
---------------------
23 id
33 b_id
2014-12-10 Date
55 t_id
NULL p_id
NULL comments
24 id
34 b_id
2014-12-11 Date
56 t_id
NULL p_id
NULL comments

预期结果:

id     b_id     Date       t_id    p_id  comments
------------------------------------------------------
23 33 2014-12-10 55 NULL NULL
24 34 2014-12-10 56 NULL NULL

我试过使用PIVOT

SELECT * FROM 
SampleTbl
Pivot (MIN ([Values]) FOR Name IN ([id],[b_id],[Date],[t_id],[p_id],[comments])) piv

我得到的结果:

id     b_id     Date       t_id    p_id   comments
---------------------------------------------------
23 33 2014-12-10 55 NULL NULL

但我没有得到预期的结果。帮我得到结果。

最佳答案

试试这个。使用窗口函数获取结果。

SELECT [id],[b_id],[Date],
[t_id],[p_id],[comments]
FROM (SELECT Row_number()OVER(partition BY name ORDER BY [values]) rn,*
FROM SampleTbl) A
PIVOT (Min ([Values])
FOR Name IN ([id],[b_id],[Date],
[t_id],[p_id],[comments])) piv

SQL FIDDLE DEMO

关于sql - 将行值转换为 ColumnName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27442651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com