首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将行值转换为ColumnName

将行值转换为ColumnName
EN

Stack Overflow用户
提问于 2014-12-12 11:25:19
回答 1查看 67关注 0票数 1

表: SampleTbl

代码语言:javascript
复制
 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

预期结果:

代码语言:javascript
复制
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

代码语言:javascript
复制
SELECT * FROM 
SampleTbl
Pivot (MIN ([Values]) FOR Name IN ([id],[b_id],[Date],[t_id],[p_id],[comments])) piv

结果:

代码语言:javascript
复制
id     b_id     Date       t_id    p_id   comments
---------------------------------------------------
23      33     2014-12-10   55      NULL    NULL

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-12 12:00:46

尝尝这个。使用window function获得结果。

代码语言:javascript
复制
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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27442651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档