縱表與橫表互轉實例


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         90         70           
       2       李四     90         85         95         
       3       王五     88         75         90          

      轉換后的縱表結構: 
      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                          --結束


   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM