亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 玩轉-SQL2005數據庫行列轉換

玩轉-SQL2005數據庫行列轉換

熱門標簽:電銷機器人虛擬號碼 海南自動外呼系統價格 滄州營銷外呼系統軟件 九鹿林外呼系統怎么收費 松原導航地圖標注 沈陽智能外呼系統代理 舞鋼市地圖標注app 創業電銷機器人 浙江地圖標注

注意:列轉行的方法可能是我獨創的了,呵呵,因為在網上找不到哦,全部是我自己寫的,用到了系統的SysColumns

(一)行轉列的方法

先說說行轉列的方法,這個就比較好想了,利用拼sql和case when解決即可

實現目的

 

1:建立測試用的數據庫

復制代碼 代碼如下:

CREATE TABLE RowTest(
    [Name] [nvarchar](10) NULL,--名稱
    [Course] [nvarchar](10) NULL,--課程名稱
    [Record] [int] NULL--課程的分數
)

2:加入測試用的數據庫(先加入整齊的數據)

復制代碼 代碼如下:

insert into RowTest values ('張三','語文','91')
insert into RowTest values ('張三','數學','92')
insert into RowTest values ('張三','英語','93')
insert into RowTest values ('張三','生物','94')
insert into RowTest values ('張三','物理','95')
insert into RowTest values ('張三','化學','96')

insert into RowTest values ('李四','語文','81')
insert into RowTest values ('李四','數學','82')
insert into RowTest values ('李四','英語','83')
insert into RowTest values ('李四','生物','84')
insert into RowTest values ('李四','物理','85')
insert into RowTest values ('李四','化學','86')

insert into RowTest values ('小生','語文','71')
insert into RowTest values ('小生','數學','72')
insert into RowTest values ('小生','英語','73')
insert into RowTest values ('小生','生物','74')
insert into RowTest values ('小生','物理','75')
insert into RowTest values ('小生','化學','76')

3:設計想法

  行轉列的原理就是把行的類別找出來當做查詢的字段,利用case when 把當前的分數加到當前的字段上去,最后用group by 把數據整合在一起

4:通用方法

復制代碼 代碼如下:

declare @sql nvarchar(max)
set @sql='select Name'
select @sql=@sql+','+'isnull(max( case when Course='''+TCourse.Course+''' then Record end ),0)'+TCourse.Course
 from (select distinct Course from RowTest)TCourse

set @sql=@sql+' from RowTest group by Name order by Name'

print @sql
exec(@sql)

說明: 把所有的課程名稱取出來作為列(查詢表TCourse)

        用case when 的方法把sql 拼出來

5:課外試驗

(1)加入數據

復制代碼 代碼如下:

insert into dbo.RowTest values ('小生','生物','110')

去除max 方法會報錯,因為一條可能對應多行數據

(2)加入數據

復制代碼 代碼如下:

insert into dbo.RowTest values ('小生','計算機','110')

數據會多出一列,但是其他人無此課程就會為0

至此,數據行轉列ok

(二)列轉行的新方法開始了

實現目的

1:實現原理

在網上看了別人的做法,基本都是用union all 來一個個轉換的,我覺得不太好用。

首先我想到了要把所有的列名取出來,就在網上查了下獲取表的所有列名

 然后我可以把主表和列名形成的表串起來,這樣就可以形成需要的列數,然后根據判斷取值就完成了了,呵呵

2:建立表格

復制代碼 代碼如下:

create table CoulumTest
(
 Name nvarchar(10),
 語文  int,
 數學 int,
 英語 int

)

3:加入數據
復制代碼 代碼如下:

insert into CoulumTest values(N'張三',90,91,92)
insert into CoulumTest values(N'李四',80,81,82)

4:經典的地方來了
復制代碼 代碼如下:

select CT.Name,Col.name 課程,
(case when Col.name=N'語文' then CT.語文  when Col.name=N'數學' then CT.數學
 when Col.name=N'英語' then CT.英語 end ) as 分數 from CoulumTest CT
left join (select name from SysColumns  Where id=Object_Id('CoulumTest')) Col on Col.name>'Name'

你沒看錯,一句話搞定,但是有個問題迷惑了我,我覺得還不夠簡化,如果可以把case when 都不用了就更好了,請大神們指點小弟一下了。怎么根據

Col的name 直接取得分數

您可能感興趣的文章:
  • 一個簡單的SQL 行列轉換語句
  • sqlserver2005 行列轉換實現方法
  • C#中DataTable實現行列轉換的方法
  • 淺析SQL語句行列轉換的兩種方法 case...when與pivot函數的應用
  • sql 普通行列轉換
  • 深入SQL中PIVOT 行列轉換詳解
  • Sql實現行列轉換方便了我們存儲數據和呈現數據
  • Oracle實現行列轉換的方法分析
  • JS控制網頁動態生成任意行列數表格的方法
  • 數據庫實現行列轉換(mysql示例)

標簽:日喀則 海口 西藏 咸寧 臺灣 公主嶺 寶雞 商洛

巨人網絡通訊聲明:本文標題《玩轉-SQL2005數據庫行列轉換》,本文關鍵詞  玩轉,-SQL2005,數據庫,行列,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《玩轉-SQL2005數據庫行列轉換》相關的同類信息!
  • 本頁收集關于玩轉-SQL2005數據庫行列轉換的相關信息資訊供網民參考!
  • 推薦文章
    成人高清视频在线观看| 黄色免费三级| 亚欧视频在线| 韩国三级香港三级日本三级| 国产91精品系列在线观看| 亚洲 国产精品 日韩| 欧美激情一区二区三区中文字幕| 久久久久久久免费视频| 精品国产三级a∨在线观看| 四虎影视精品永久免费网站 | 人人干人人草| 国产一区二区精品尤物| 国产原创中文字幕| 国产不卡高清| 九九精品在线| 欧美大片a一级毛片视频| 久久国产精品自由自在| 精品国产一区二区三区久久久蜜臀| 九九久久国产精品大片| 天堂网中文字幕| 四虎影视久久| 精品视频一区二区| 香蕉视频一级| 精品久久久久久免费影院| 亚洲精品影院| 久久国产精品永久免费网站| 精品国产一区二区三区免费 | 成人a级高清视频在线观看| 国产综合成人观看在线| 99久久精品国产免费| 日本在线播放一区| 日本伦理片网站| 香蕉视频久久| 国产麻豆精品视频| 可以免费看毛片的网站| 亚欧成人乱码一区二区| 尤物视频网站在线| 欧美激情在线精品video| 久久精品成人一区二区三区| 国产原创中文字幕| 二级片在线观看| 91麻豆国产| 国产麻豆精品免费密入口| 亚洲精品永久一区| 麻豆系列 在线视频| 国产成人精品综合| 国产麻豆精品| 麻豆系列 在线视频| 黄色福利片| 久久国产精品只做精品| 九九精品影院| 欧美1卡一卡二卡三新区| 99久久精品国产高清一区二区| 亚久久伊人精品青青草原2020| 国产精品自拍一区| 国产91精品系列在线观看| 精品视频在线看| 青青久久网| 国产一区二区高清视频| 色综合久久手机在线| 精品美女| 四虎影视库| 国产网站在线| 亚欧乱色一区二区三区| 久久国产精品自线拍免费| 韩国三级香港三级日本三级| a级毛片免费全部播放| 国产麻豆精品| 国产福利免费观看| 欧美爱色| 99久久精品费精品国产一区二区| 久久国产精品自线拍免费| 亚洲 欧美 91| a级毛片免费全部播放| 欧美激情一区二区三区在线| 一级毛片视频免费| 久久国产影院| 久久国产一久久高清| 99久久精品国产国产毛片| 日韩男人天堂| 国产成人精品综合在线| 国产视频久久久久| 日本特黄特色aa大片免费| 国产一区二区高清视频| 精品视频免费看| 999久久久免费精品国产牛牛| 国产伦精品一区三区视频| 亚洲精品影院| 日韩欧美一二三区| 亚洲天堂在线播放| 久久精品欧美一区二区| 欧美激情一区二区三区在线 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 二级片在线观看| 亚洲精品久久玖玖玖玖| 欧美日本免费| 国产精品自拍在线| 久久国产一区二区| 香蕉视频一级| 国产成人精品综合| 欧美18性精品| 91麻豆精品国产综合久久久| 国产一区二区精品尤物| 亚洲第一页乱| 精品视频在线看| 色综合久久天天综合绕观看| 尤物视频网站在线观看| 欧美国产日韩久久久| 久久99这里只有精品国产| 国产原创中文字幕| 天堂网中文字幕| 国产极品精频在线观看| 美女免费精品高清毛片在线视 | 久久国产影视免费精品| 欧美激情一区二区三区在线播放 | 成人免费一级纶理片| 麻豆系列 在线视频| 四虎影视库| 国产成人啪精品| 精品国产一区二区三区国产馆| 一级女性全黄久久生活片| 国产原创中文字幕| 国产精品123| 欧美日本免费| 天天做日日爱| 欧美1卡一卡二卡三新区| 黄视频网站在线观看| 国产原创中文字幕| 国产麻豆精品免费密入口| 精品国产一区二区三区免费 | 一级女人毛片人一女人| 精品国产一区二区三区久久久狼| 国产网站免费视频| 日韩专区一区| 国产精品1024在线永久免费| 日日日夜夜操| 欧美激情一区二区三区中文字幕| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩中文字幕在线播放| 国产91丝袜高跟系列| 欧美α片无限看在线观看免费| 可以免费在线看黄的网站| 精品久久久久久免费影院| 九九久久99| 天天色成人| 午夜在线影院| 国产美女在线观看| 99久久视频| 999久久久免费精品国产牛牛| 精品国产一区二区三区国产馆| 国产亚洲男人的天堂在线观看| 国产美女在线观看| 91麻豆精品国产自产在线| 国产高清在线精品一区二区| 91麻豆精品国产高清在线| 国产伦久视频免费观看 视频| 一级片片| 欧美激情一区二区三区中文字幕| 国产视频在线免费观看| 黄色福利| 久久国产精品自线拍免费| 国产一区二区高清视频| 99久久精品国产国产毛片| 午夜激情视频在线播放| a级黄色毛片免费播放视频| 日韩中文字幕一区二区不卡| 一级女性全黄生活片免费| 亚洲精品中文一区不卡| 国产网站免费| 国产a视频| 久久国产影视免费精品| 日韩在线观看视频免费| 日韩在线观看网站| 国产麻豆精品视频| 九九九网站| 国产a视频| 日韩专区亚洲综合久久| 欧美一级视频免费观看| 国产麻豆精品免费密入口| 毛片电影网| 日韩中文字幕一区二区不卡| 色综合久久天天综合| 一级片片| 日日日夜夜操| 国产91丝袜高跟系列| 99久久精品国产麻豆| 日本免费看视频| 91麻豆精品国产综合久久久| 午夜久久网| 久草免费在线观看| 麻豆污视频| 999久久久免费精品国产牛牛| 日本特黄一级| 毛片电影网| 欧美激情在线精品video| 午夜激情视频在线播放| 欧美爱爱网| 精品视频在线观看视频免费视频| 精品久久久久久综合网| 999精品视频在线|