sqlserver下將數據庫記錄的列記錄轉換成行記錄的
導讀:1建站知識sqlserver下將數據庫記錄的列記錄轉換成行記錄的方法分享,需要的朋友可以參考下。網站建設百度seo網站優化。
假設有張學生成績表(tb)如下: Name Subject Result 張三 語文 74 張三 數學 83 張三 物理 93 李四 語文 74 李四 數學 84 李四 物理 94 想變成 姓名 語文 數學 物理 ---------- ----------- ----------- ----------- 李四 74 84 94 張三 74 83 93 SQL 語句如下:
復制代碼 代碼如下:
create table tb ( Name varchar(10) , Suseo網站優化軟件bject varchar(10) , Result int ) insert into tb(Name , Subject , Result) values('張三' , '語文' , 74) insert into tb(Name , Subject , Result) values(seo網站優化培訓'張三' , '數學' , 83) insert into tb(Name , Subject , Result) values('張三' , '物理' , 93) insert into tb(Name , Subject , Result) values('李四' , '語文' , 74) insert into tb(Name , Subject , Result) values('李四' , '數學' , 84) insert into tb(Name , Subject , Result) values('李四' , '物理' , 94) go --靜態SQL,指subject只有語文、數學、物理這三門課程。 select name 姓名, max(case Subject when '語文' then result else 0 end) 語文, max(case Subject when '數學' then result else 0 end) 數學, max(case Subject when '物理' then result el企業網站建設se 0 end) 物理 from tb group by name --動態SQL,指subject不止語文、數學、物理這三門課程。 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 tb) as a set @sql = @sql + ' from tb group by name' exec(@sql)
相關網站建設百度seo網站優化。聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-22 ,文章sqlserver下將數據庫記錄的列記錄轉換成行記錄的主要講述標簽,數據庫,sqlserver下將數據庫記錄的列記錄轉換網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_4173.html