sql 動態行轉列 的例子


--鍵一張臨時表

create table #t
(
    名字 varchar(20),
    課程 varchar(20),
    分數 int  
)
insert into #t values('張三','數學','88')
insert into #t values('張三','語文','99')
insert into #t values('張三','英語','77')
insert into #t values('李四','語文','77')
insert into #t values('李四','數學','88')
insert into #t values('李四','英語','99')
insert into #t values('王五','英語','99')
insert into #t values('李四','化學 ','99')
select * from #t--查詢圓表數據
------行轉列
declare @sql varchar(8000)
set @sql = 'select 名字 '
select @sql = @sql + ' , max(case 課程 when ''' + 課程 + ''' then 分數 else 0 end) [' + 課程 + ']'
from (select distinct 課程 from #t) as a
set @sql = @sql + ' from #t group by 名字'
exec(@sql)
drop  table #t

----------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM