縱表與橫表互轉例項

2021-09-08 16:49:56 字數 1793 閱讀 2479

1.縱表轉橫表:

縱表結構:table1

轉換後的橫表結構:

sql示例**:

select username,

sum(case course when '語文' then grade else 0 end) as 語文,

sum(case course when '數學' then grade else 0 end) as 數學,

sum(case course when '英語' then grade else 0 end) as 英語

from table1

group by username

2、橫表轉縱表:

橫表結構: tablea

id      姓名    語文        數學       英語     

1       張三     80

9070

2       李四     90

8595

3       王五     88

7590

轉換後的縱表結構:

id     姓名     科目     成績 

1       張三     語文     80

2       張三     數學     90

3       張三     英語     70

4       李四     語文     90

5       李四     數學     80

6       李四     英語     99

7       王五     語文     85

8       王五     數學     96

9       王五     英語     88

sql示例**:

select   姓名,'語文'   as     科目,語文   as   成績   from   tablea union   all 

select 姓名,'數學' as 科目,數學 as 成績 from tablea union all

select 姓名,'英語' as 科目,英語 as 成績 from tablea order by 姓名,科目 desc;

case 變數表示式              --對某個『變數表示式』進行判斷

when 值                      --當『變數表示式』是某個『值』時

then 返回值表示式            --返回『返回值表示式』值

[when...

then...

.....]                       --可以進行多次判斷

[else 其他情況返回值表示式]  --不符合所有when後面的就是其他情況了

end                          --結束

SQL Server之縱表與橫表互轉

1,縱表轉橫表 縱表結構 table a 轉換後的結構 縱表轉橫表的sql示例 select name sum case when course n 語文 then grade else 0 end as chinese sum case when course n 數學 then grade el...

橫表與縱表區別

橫表就是普通的建表方式,如乙個表結構為 主鍵 欄位1 欄位2 欄位3。如果變成縱表後,則表結構為 主鍵 字段 字段值。而字段 則為字段1 欄位2 欄位3。具體為電信行業的例子。以使用者帳單表為例一般出賬時使用者有很多費用客戶,其資料一般儲存為 時間,客戶id,費用科目,費用。這種儲存結構一般稱為縱表...

橫表縱表轉換

橫表就是普通的建表方式,如表結構為 主鍵 欄位1 欄位2 欄位3.如果變成縱表後,則表結構為 主鍵 字段 字段值。而字段 則為字段1 欄位2 欄位3.具體為電信行業的例子。以使用者帳單表為例,一般出賬時使用者有很多費用,其資料一般儲存為 時間,客戶id,費用科目,費用。這種儲存結構一般稱為縱表,其特...