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

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

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

瀏覽:195日期: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
主站蜘蛛池模板: 曲松县| 彩票| 北川| 门源| 金堂县| 墨江| 安达市| 荔浦县| 宣威市| 安图县| 满城县| 弋阳县| 曲阳县| 阿荣旗| 通渭县| 武穴市| 侯马市| 龙山县| 青海省| 阳春市| 玛沁县| 神农架林区| 思南县| 泰兴市| 共和县| 永丰县| 腾冲县| 清镇市| 元阳县| 和林格尔县| 北安市| 县级市| 通山县| 湘潭市| 南江县| 高碑店市| 定远县| 额尔古纳市| 边坝县| 岑溪市| 沅陵县|