国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

絕妙的SQL行列轉(zhuǎn)換語(yǔ)句

2024-07-21 02:50:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
絕妙的SQL行列轉(zhuǎn)換語(yǔ)句

說(shuō)明:普通行列轉(zhuǎn)換(version 1.0)僅針對(duì)sql server 2000提供靜態(tài)和動(dòng)態(tài)寫(xiě)法,version 2.0增加sql server 2005的有關(guān)寫(xiě)法。問(wèn)題:假設(shè)有張學(xué)生成績(jī)表(tb)如下:姓名 課程 分?jǐn)?shù)張三 語(yǔ)文 74張三 數(shù)學(xué) 83張三 物理 93李四 語(yǔ)文 74李四 數(shù)學(xué) 84李四 物理 94

想變成(得到如下結(jié)果):姓名 語(yǔ)文 數(shù)學(xué) 物理---- ---- ---- ----李四 74 84 94張三 74 83 93-------------------*/createtabletb(姓名varchar(10) , 課程varchar(10) , 分?jǐn)?shù)int)insertintotbvalues('張三','語(yǔ)文',74)insertintotbvalues('張三','數(shù)學(xué)',83)insertintotbvalues('張三','物理',93)insertintotbvalues('李四','語(yǔ)文',74)insertintotbvalues('李四','數(shù)學(xué)',84)insertintotbvalues('李四','物理',94)go--SQL SERVER 2000 靜態(tài)SQL,指課程只有語(yǔ)文、數(shù)學(xué)、物理這三門(mén)課程。(以下同)select姓名as姓名 ,max(case課程when'語(yǔ)文'then分?jǐn)?shù)else0end) 語(yǔ)文,max(case課程when'數(shù)學(xué)'then分?jǐn)?shù)else0end) 數(shù)學(xué),max(case課程when'物理'then分?jǐn)?shù)else0end) 物理fromtbgroupby姓名--SQL SERVER 2000 動(dòng)態(tài)SQL,指課程不止語(yǔ)文、數(shù)學(xué)、物理這三門(mén)課程。(以下同)declare@sqlvarchar(8000)set@sql='select 姓名'select@sql=@sql+', max(case 課程 when'''+課程+'''then 分?jǐn)?shù) else 0 end) ['+課程+']'from(selectdistinct課程fromtb)asaset@sql=@sql+'from tb group by 姓名'exec(@sql)--SQL SERVER 2005 靜態(tài)SQL。select*from(select*fromtb) a pivot (max(分?jǐn)?shù))for課程in(語(yǔ)文,數(shù)學(xué),物理)) b--SQL SERVER 2005 動(dòng)態(tài)SQL。declare@sqlvarchar(8000)select@sql=isnull(@sql+'],[','')+課程fromtbgroupby課程set@sql='['+@sql+']'exec('select * from (select * from tb) a pivot (max(分?jǐn)?shù)) for 課程 in ('+@sql+')) b')


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 腾冲县| 方正县| 贵州省| 盐山县| 湘阴县| 天长市| 大渡口区| 登封市| 来安县| 浦县| 扎兰屯市| 双柏县| 丰原市| 宜兴市| 北流市| 五指山市| 鄂托克前旗| 小金县| 隆尧县| 天柱县| 随州市| 巴南区| 天长市| 安泽县| 任丘市| 习水县| 黑龙江省| 杭锦后旗| 隆子县| 永康市| 德阳市| 章丘市| 页游| 延津县| 礼泉县| 图片| 渭源县| 都兰县| 曲靖市| 镶黄旗| 图木舒克市|