欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

sqlserver下將數(shù)據(jù)庫記錄的列記錄轉(zhuǎn)換成行記錄的方法

 更新時間:2011年07月11日 20:46:21   作者:  
sqlserver下將數(shù)據(jù)庫記錄的列記錄轉(zhuǎn)換成行記錄的方法分享,需要的朋友可以參考下。
假設(shè)有張學(xué)生成績表(tb)如下:
Name Subject Result
張三 語文  74
張三 數(shù)學(xué)  83
張三 物理  93
李四 語文  74
李四 數(shù)學(xué)  84
李四 物理  94
想變成

姓名 語文 數(shù)學(xué) 物理
---------- ----------- ----------- -----------
李四 74 84 94
張三 74 83 93
SQL 語句如下:
復(fù)制代碼 代碼如下:

create table tb
(
Name varchar(10) ,
Subject varchar(10) ,
Result int
)
insert into tb(Name , Subject , Result) values('張三' , '語文' , 74)
insert into tb(Name , Subject , Result) values('張三' , '數(shù)學(xué)' , 83)
insert into tb(Name , Subject , Result) values('張三' , '物理' , 93)
insert into tb(Name , Subject , Result) values('李四' , '語文' , 74)
insert into tb(Name , Subject , Result) values('李四' , '數(shù)學(xué)' , 84)
insert into tb(Name , Subject , Result) values('李四' , '物理' , 94)
go

--靜態(tài)SQL,指subject只有語文、數(shù)學(xué)、物理這三門課程。
select name 姓名,
max(case Subject when '語文' then result else 0 end) 語文,
max(case Subject when '數(shù)學(xué)' then result else 0 end) 數(shù)學(xué),
max(case Subject when '物理' then result else 0 end) 物理
from tb
group by name

--動態(tài)SQL,指subject不止語文、數(shù)學(xué)、物理這三門課程。

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)

相關(guān)文章

  • sqlserver合并DataTable并排除重復(fù)數(shù)據(jù)的通用方法分享

    sqlserver合并DataTable并排除重復(fù)數(shù)據(jù)的通用方法分享

    網(wǎng)上合并DataTable通用方法的文章很多,結(jié)合項目開發(fā)中的常用需求,并借鑒網(wǎng)上的做法,寫了一個合并DataTable的通用方法,主要功能是合并兩個DataTable(結(jié)構(gòu)可以不同,如字段不完全一致),并可以根據(jù)某一列值進(jìn)行排重處理
    2011-12-12
  • 新手SqlServer數(shù)據(jù)庫dba需要注意的一些小細(xì)節(jié)

    新手SqlServer數(shù)據(jù)庫dba需要注意的一些小細(xì)節(jié)

    這篇文章主要介紹了新手SqlServer數(shù)據(jù)庫dba需要注意的一些小細(xì)節(jié),本文講解了15個小細(xì)節(jié)、小技巧及需要注意的地方,需要的朋友可以參考下
    2015-02-02
  • 一個有趣的SQL命題 用一條語句切換BIT型的真假值

    一個有趣的SQL命題 用一條語句切換BIT型的真假值

    有個需求,用一條SQL語句(SQL SERVER)的,切換某個BIT字段值。也就是說從TRUE變FALSE,從FALSE到TRUE。
    2009-08-08
  • SQL?Server還原完整備份和差異備份的操作過程

    SQL?Server還原完整備份和差異備份的操作過程

    這篇文章主要介紹了SQL?Server?還原?完整備份和差異備份的詳細(xì)操作,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • SQL實現(xiàn)模糊查詢的四種方法總結(jié)

    SQL實現(xiàn)模糊查詢的四種方法總結(jié)

    本文主要介紹了SQL實現(xiàn)模糊查詢的四種方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • SQLserver刪除某數(shù)據(jù)庫中所有表實現(xiàn)思路

    SQLserver刪除某數(shù)據(jù)庫中所有表實現(xiàn)思路

    方便刪除數(shù)據(jù)庫中所有的數(shù)據(jù)表,清空數(shù)據(jù)庫,有些有約束,不能直接delete,因為那樣太危險了所以需要先刪除庫中的約束,接下來提供詳細(xì)實現(xiàn)代碼,感興趣的你可以參考下哦,或許對你學(xué)習(xí)有所幫助
    2013-02-02
  • MSSQL MySQL 數(shù)據(jù)庫分頁(存儲過程)

    MSSQL MySQL 數(shù)據(jù)庫分頁(存儲過程)

    有關(guān)分頁 SQL 的資料很多,有的使用存儲過程,有的使用游標(biāo)。本人不喜歡使用游標(biāo),我覺得它耗資、效率低;使用存儲過程是個不錯的選擇,因為存儲過程是經(jīng)過預(yù)編譯的,執(zhí)行效率高,也更靈活
    2012-01-01
  • SQL?Server中的游標(biāo)介紹

    SQL?Server中的游標(biāo)介紹

    這篇文章介紹了SQL?Server中的游標(biāo),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • SQL 中 NULL值測試代碼

    SQL 中 NULL值測試代碼

    在SQL語句中,where 子句:where t.modifier = null ,這里不可以使用NULL關(guān)鍵字,因為它不是一個真正的值,它僅僅是一個符號,因為它的值是未知的。
    2011-04-04
  • MSsql每天自動備份數(shù)據(jù)庫并每天自動清除log的腳本

    MSsql每天自動備份數(shù)據(jù)庫并每天自動清除log的腳本

    有自己服務(wù)器的朋友需要用到的東西,因為mssql數(shù)據(jù)需要經(jīng)常備份
    2008-09-09

最新評論