假設有張學生成績表(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...