国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

SQL如何實現橫表與縱表相互轉換

瀏覽:218日期:2023-05-02 10:03:21
目錄
  • 一、橫表簡單概述
  • 二、縱表簡單概述
  • 三、縱表轉橫表代碼如下以及視圖展示
  • 四、橫表轉縱表代碼如下以及視圖展示
  • 五、橫表、縱表優點與缺點
  • 六、總結

一、橫表簡單概述

橫表是普通的建表方式。例如:表結構為主鍵、字段1、字段2、字段3…。

二、縱表簡單概述

縱表的表結構為主鍵、字段代碼、字段值,字段代碼則為字段1、字段2、字段3…。

三、縱表轉橫表代碼如下以及視圖展示

1.縱表視圖如下:

2.縱表轉換成橫表視圖如下:

3.sql語句如下所示:

select student_name,	sum(case ts.subject when "C語言" then ts.score else "" end) as C語言,	sum(case ts.subject when "數據結構" then ts.score else "" end) as 數據結構,	sum(case ts.subject when "操作系統" then ts.score else "" end) as 操作系統from t_student tsgroup by ts.student_name;

四、橫表轉縱表代碼如下以及視圖展示

1.橫表視圖如下:

2.橫表轉換成縱表視圖如下:

3.sql語句如下所示:

select ts.studnet_name,"C語言" as 科目,ts.`C語言` as 成績from t_student1 tsunion allselect ts.studnet_name,"數據結構" as 科目,ts.`數據結構` as 成績from t_student1 tsunion allselect ts.studnet_name,"操作系統" as 科目,ts.`操作系統` as 成績from t_student1 tsorder by studnet_name,科目

五、橫表、縱表優點與缺點

1.橫表
優點:一行表示了一個實體記錄,清晰可見。
缺點:如果現在要給這個表加一個字段,那么就必須重建表結構。

2.縱表
優點:如果現在要給這個表加一個字段,只需要添加一些記錄。
缺點:數據描述不是很清晰,而且會造成數據庫數據很多。另如果需要分組統計,要先group by,較繁瑣

六、總結

應該把不容易改動表結構的設計成橫表,把容易經常改動不確定的表結構設計成縱表。

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

標簽: MsSQL
主站蜘蛛池模板: 松溪县| 通河县| 安吉县| 古浪县| 西和县| 新兴县| 昌宁县| 琼海市| 邻水| 万全县| 高清| 河源市| 遂昌县| 偏关县| 章丘市| 邯郸市| 大埔县| 峨眉山市| 扬州市| 中卫市| 清水河县| 交城县| 金寨县| 龙江县| 长汀县| 枣强县| 安西县| 皮山县| 台南县| 靖西县| 临武县| 辽中县| 渝北区| 公主岭市| 新源县| 东港市| 鲁山县| 同江市| 洞头县| 渑池县| 太康县|