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

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

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

瀏覽:332日期: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
主站蜘蛛池模板: 德惠市| 化德县| 云霄县| 西安市| 保德县| 济南市| 自治县| 新闻| 阿图什市| 瑞安市| 韩城市| 盐边县| 宁阳县| 苗栗市| 买车| 茶陵县| 界首市| 平顶山市| 津南区| 镇巴县| 准格尔旗| 北海市| 珲春市| 安岳县| 香格里拉县| 玛沁县| 桓仁| 泉州市| 自贡市| 洛浦县| 禄劝| 乌鲁木齐市| 文化| 江城| 东丽区| 广丰县| 山丹县| 云龙县| 南充市| 繁峙县| 宜黄县|