資料庫-行轉列的文法
1.表: PerTab
字段:name, title, values
原内容:一月 産品A 120
二月 産品A 20
一月 産品B 230
二月 産品B 400
-----------------------------------------------
查詢結果: 月份 産品A 産品B 數量(Values)
一月 120 230
二月 20 400
-----------------------------------------------
SQl文法:
select name, sum(case title when '産品A' then values else 0 end ) as 産品A from PerTab group by name
備注: 其中中間的可以重複,得到所有的列
還可以用這樣的SQL語句:
可以自動生成的語句:
示例二:
stuNo stuName
1 aa
2 bb
stuNo course result
1 Chinese 80
1 English 92
2 Chinese 75
2 English 86
要求顯示如下:
stuNo stuName Englist Chinese total
1 aa 80 92 172
1 bb 75 86 161
示例三:
姓名 課程 分數
---- ---- ----
張三 國文 74
張三 數學 83
張三 實體 93
李四 國文 74
李四 數學 84
李四 實體 94
結果:
姓名 國文 數學 實體
---- ---- ---- ----
李四 74 84 94
張三 74 83 93
-------------------
--SQL SERVER 2000 靜态SQL,指課程隻有國文、數學、實體這三門課程
上面這條查詢語句在DB2中也适用,本人驗證過.//