2017-06-25 11 views
-1

enter image description hereSQLピボットテーブル

上記の画像からSQLの質問をご覧ください。

これはどのようにSQLを記述するのですか?

+6

テキストのスクリーンショットを投稿しないでください。質問がある場合は、ここに入力してください。 – BSMP

+2

それはかなり基本的なPIVOTのようです。これが宿題の質問であれば、おそらくあなたのコースの文書を見て、期待しているはずです。また、https://stackoverflow.com/questions/7674786/mysql-pivot-table。 – Shawn

答えて

3
DECLARE @Columns nvarchar(MAX),@SQL nvarchar(MAX); 
SET @Columns=N''; 
SELECT @Columns+=IIF(@Columns='', 
QUOTENAME(continent),N','+QUOTENAME(continent)) 
from(Select continent from student group by continent) as x ; 
Set @SQL=N'SELECT ['+STUFF(@Columns,1,1,'')+' 
FROM (Select continent,name,row_number() over(partition by continent order 
by name) rn from student) AS j 
PIVOT(MAX(name) FOR continent IN (['+STUFF(@Columns,1,1,'')+')) as p'; 
EXECUTE sp_executesql @SQL; 
+0

@Li Yuanこのコードを試してください –

関連する問題