sqlserver行列的轉換

cmn6 9年前發布 | 1K 次閱讀 SQL


SELECT * FROM Table_Test

--第一種方法
declare @sql varchar(8000)
set @sql = 'select Name as ' + '姓名'
select @sql = @sql + ' , max(case Subject when ''' + Subject + ''' then Result else 0 end) [' + Subject + ']'from (select distinct Subject from Table_Test) as a
set @sql = @sql + ' from Table_Test group by name'
exec(@sql)
--第二種方法
select name
,sum(case subject when'數學' then Result else 0 end ) as '數學'
,sum(case subject when'英語' then Result else 0 end ) as '英語'
,sum(case subject when'語文' then Result else 0 end ) as '語文'
from Table_Test
group by name

 本文由用戶 cmn6 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!