av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

SQL如何實現(xiàn)橫表與縱表相互轉(zhuǎn)換

瀏覽:231日期:2023-05-02 10:03:21
目錄
  • 一、橫表簡單概述
  • 二、縱表簡單概述
  • 三、縱表轉(zhuǎn)橫表代碼如下以及視圖展示
  • 四、橫表轉(zhuǎn)縱表代碼如下以及視圖展示
  • 五、橫表、縱表優(yōu)點與缺點
  • 六、總結(jié)

一、橫表簡單概述

橫表是普通的建表方式。例如:表結(jié)構(gòu)為主鍵、字段1、字段2、字段3…。

二、縱表簡單概述

縱表的表結(jié)構(gòu)為主鍵、字段代碼、字段值,字段代碼則為字段1、字段2、字段3…。

三、縱表轉(zhuǎn)橫表代碼如下以及視圖展示

1.縱表視圖如下:

2.縱表轉(zhuǎn)換成橫表視圖如下:

3.sql語句如下所示:

select student_name,	sum(case ts.subject when "C語言" then ts.score else "" end) as C語言,	sum(case ts.subject when "數(shù)據(jù)結(jié)構(gòu)" then ts.score else "" end) as 數(shù)據(jù)結(jié)構(gòu),	sum(case ts.subject when "操作系統(tǒng)" then ts.score else "" end) as 操作系統(tǒng)from t_student tsgroup by ts.student_name;

四、橫表轉(zhuǎn)縱表代碼如下以及視圖展示

1.橫表視圖如下:

2.橫表轉(zhuǎn)換成縱表視圖如下:

3.sql語句如下所示:

select ts.studnet_name,"C語言" as 科目,ts.`C語言` as 成績from t_student1 tsunion allselect ts.studnet_name,"數(shù)據(jù)結(jié)構(gòu)" as 科目,ts.`數(shù)據(jù)結(jié)構(gòu)` as 成績from t_student1 tsunion allselect ts.studnet_name,"操作系統(tǒng)" as 科目,ts.`操作系統(tǒng)` as 成績from t_student1 tsorder by studnet_name,科目

五、橫表、縱表優(yōu)點與缺點

1.橫表
優(yōu)點:一行表示了一個實體記錄,清晰可見。
缺點:如果現(xiàn)在要給這個表加一個字段,那么就必須重建表結(jié)構(gòu)。

2.縱表
優(yōu)點:如果現(xiàn)在要給這個表加一個字段,只需要添加一些記錄。
缺點:數(shù)據(jù)描述不是很清晰,而且會造成數(shù)據(jù)庫數(shù)據(jù)很多。另如果需要分組統(tǒng)計,要先group by,較繁瑣

六、總結(jié)

應該把不容易改動表結(jié)構(gòu)的設計成橫表,把容易經(jīng)常改動不確定的表結(jié)構(gòu)設計成縱表。

到此這篇關于SQL如何實現(xiàn)橫表與縱表相互轉(zhuǎn)換的文章就介紹到這了,更多相關SQL 橫表與縱表轉(zhuǎn)換內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!

標簽: MsSQL
主站蜘蛛池模板: 日韩精品一区在线观看 | 天堂在线www | 免费黄视频网站 | 精品少妇av| 中文字幕黄色片 | 香蕉在线观看 | 欧美二三区 | 成人毛片在线观看 | 日韩欧美一级片 | 日韩专区在线观看 | 色综合久久久久 | 国产精品视频一区二区三区 | 999国产视频| 亚洲另类色综合网站 | 在线看片a | 日韩一级黄 | 亚洲精品免费在线观看 | 亚洲成a人片 | 中文字幕在线观看一区二区三区 | 中文字幕在线观看免费视频 | 国产黄色免费网站 | 东北少妇bbbb搡bbb搡 | 黄色一级在线观看 | 一区二区三区久久 | 精品国产aⅴ麻豆 | 久久av中文字幕 | 亚洲午夜精品 | 亚洲成人av| 中文字幕一级片 | 成人在线视频免费 | 亚洲综合区 | 色爱天堂 | 伊人精品在线 | 国产一区精品视频 | 一区二区三区日韩 | 国产女人高潮视频 | 欧美在线免费 | a级黄毛片 | 亚洲成av | 自拍偷拍第五页 | 黄色在线免费网站 |