行列轉換 普通

2021-05-09 14:55:13 字數 598 閱讀 7400

假設有張學生成績表(cj)如下

name    subject     result

張三    語文        80

張三    數學        90

張三    物理        85

李四    語文        85

李四    數學        92

李四    物理        82

想變成   

姓名   語文   數學   物理

張三   80     90     85

李四   85     92     82

declare @sql varchar(4000)

set @sql = 'select name'

select @sql = @sql + ',sum(case subject when '''+subject+''' then result end) ['+subject+']'

from (select distinct subject from cj) as a

select @sql = @sql+' from test group by name'

exec(@sql)

行列轉換 普通

行列轉換 普通 if exists select from sysobjects where id object id a and sysstat 0xf 3 drop table dbo.a create table dbo.a name1 varchar 20 not null,subject ...

SQL語句之普通行列轉換

假設有張學生成績表 tb rowtocol 如下 name subject result 張三 語文 73 張三 數學 83 張三 物理 93 李四 語文 74 李四 數學 84 李四 物理 94 想變成 姓名 語文 數學 物理 張三 73 83 93 李四 74 84 94 declare sql...

mysql行列轉換 mysql行列轉換

1.一維轉二維 上圖為成績表中資料,現希望將資料轉換為下圖。靜態 轉化為二維表後的列名及列數是確定不變的,本例中即course只有數學 語文 英語這三門課。select s name,max if course 數學 score,0 as 數學,max if course 語文 score,0 as...