繁体   English   中英

如何在SQL Server 2008中将行值转换为列?

[英]How to transpose row value as column in sql server 2008?

我的表结构是这样的:

在此处输入图片说明

但我希望输出如下:

English  hindi  telugu  drawing
-------  ----- ------- --------
english  hindi  telugu  drawing
paper2   paper1  paper2  drawing2

我想将subjectid显示为列标题,将paper names为行。

请帮我。

如果classid无关紧要,您可以尝试以下查询。

SELECT [English], [Hindi],[Telugu],[Drawing]
FROM 
(
   SELECT ROW_NUMBER() OVER (PARTITION BY SubjectId ORDER BY PaperName) AS rownum, SubjectId, PaperName 
   FROM T
   GROUP BY SubjectId, PaperName 
)AS base
PIVOT
( MAX(PaperName) FOR SubjectId IN ([English], [Hindi],[Telugu],[Drawing])) AS pvt;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM