行轉列示例

2021-06-20 12:48:01 字數 771 閱讀 1713

if object_id('tb') is not null

drop table tb

gocreate table tb(

[姓名] varchar(10),

[課程] varchar(10),

[分數] int

)insert into tb values('張三','語文',74);

insert into tb values('張三','數學',83);

insert into tb values('張三','物理',93);

insert into tb values('李四','語文',74);

insert into tb values('李四','數學',84);

insert into tb values('李四','物理',94);

goselect * from tb

godeclare @sql varchar(500);

set @sql='select 姓名'

select @sql=@sql+',max(case 課程 when '''+課程+''' then 分數 else 0 end)['+課程+']'

from (select distinct 課程 from tb) a 

--同from tb group by

課程,預設按課程名排序

set @sql=@sql+' from tb group by 姓名'

exec(@sql);

--print @sql;列印構造sql語句

C 中DataTable行轉列示例

今天碰到乙個需求,就是將下面表 1 格式的資料轉換為表 2 格式的資料。很明顯,這是乙個行轉列的要求,本想在資料庫中行轉列,因為在資料庫中行轉列是比較簡單的,方法可以參考本站sqlserver中 行列轉換 行轉列及列轉行且加平均值及彙總值,但因其它需求,最終需將該轉化搬到c 中進行了。客戶名稱日期金...

sql 行轉列 思想及示例

sql 行轉列常常在具體的業務需要中出現難於處理的情況,使用開發難度增大。故再回顧下行轉列的思想與示例。以下是詳細sql指令碼 if exists in column nvarchar 500 要把資料轉成列的列名 as begin declare queryfiled nvarchar max 用...

sql 行轉列 思想及示例

sql 行轉列常常在具體的業務需要中出現難於處理的情況,使用開發難度增大。故再回顧下行轉列的思想與示例。以下是詳細sql指令碼 if exists in column nvarchar 500 要把資料轉成列的列名 as begin declare queryfiled nvarchar max 用...