2016-11-09 11 views
0

私のテーブルの構造は、このようなものです:SQL Server 2008の列として行の値を転記する方法は?

enter image description here

しかし、次のように、私は出力をしたい:

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

私は列見出しと行などpaper namesとしてsubjectid表示したいです。

私を助けてください。

+1

[SQL Serverで 'ピボット' を使用して列に行を変換](http://stackoverflow.com/questions/15931607/convert-rows-to-columns-using-pivot-in-sqlの可能性のある重複-server) – GSerg

答えて

0

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; 
+0

お返事ありがとうございました。私の主題IDは固定されていません。 –