解析SQL Server中行轉列問題
行轉列問題主要分為兩類。
1)簡單的行轉列問題:
示例表:
id sid course result
1 2005001 語文 80.0
2 2005001 數學 90.0
3 2005001 英語 80.0
4 2005002 語文 56.0
5 2005002 數學 69.0
6 2005002 英語 89.0
執行:
select sid,語文=isnull(sum(case course when '語文' then result end),0), 數學=isnull(sum(case course when '數學' then result end),0), 英語=isnull(sum(case course when '英語' then result end),0) from result group by sid order by sid |
得出結果:
sid 語文 數學 英語
2005001 80.0 90.0 80.0
2005002 56.0 69.0 89.0
2)較為複雜的行轉列
表1:course
id name
1 語文
2 數學
3 英語
表2:result
id sid course result
1 2005001 語文 80.0
2 2005001 數學 90.0
3 2005001 英語 80.0
4 2005002 語文 56.0
5 2005002 數學 69.0
6 2005002 英語 89.0
declare @sql varchar(8000) set @sql='select sid' select @sql=@sql+','+course.name+'=isnull(sum(case course when '''+course.name+''' then result end),0)' from course order by id set @sql=@sql+' from result group by sid order by sid' print @sql exec(@sql) |
得出結果
sid 語文 數學 英語
2005001 80.0 90.0 80.0
2005002 56.0 69.0 89.0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-557587/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server中行列轉換 Pivot UnPivotSQLServer
- SQL行轉列統計問題SQL
- sql server left join問題SQLServer
- 解決Sql Server警報的疑難問題(轉)SQLServer
- SQL Server常見問題收集SQLServer
- sql server死鎖的問題SQLServer
- SQL Server許可權問題SQLServer
- 有關於css中行高的問題CSS
- SQL SERVER和ORACLE的排序問題SQLServerOracle排序
- 從ACCESS轉到學習SQL SERVER所遇到的幾個問題 (轉)SQLServer
- sql server的getdate()轉換成yyyy-mm-dd格式問題SQLServer
- SQL SERVER的記憶體會不斷增加,問題分析(轉)SQLServer記憶體
- SQL Server 加密案例解析SQLServer加密
- 淺談SQL Server中的快照問題SQLServer
- Sql Server 資料庫超時問題SQLServer資料庫
- sql server 資料庫還原問題SQLServer資料庫
- SQL Server的安全設定問題解答SQLServer
- Sql server中Collation conflict問題SQLServer
- SQL Server 2005鎖的問題SQLServer
- SQL Server中datetimeset轉換datetime型別問題淺析SQLServer型別
- Microsoft SQL Server 2008中SQL Server服務啟動故障問題ROSSQLServer
- SQL SERVER建立索引需要注意的問題SQLServer索引
- java 連結sql server 2000 問題JavaSQLServer
- 安裝sql server遇到問題解決方法SQLServer
- SQL Server 2000 許可權問題SQLServer
- [轉] SQL Server 原理SQLServer
- SQL 行轉列,列轉行SQL
- 不同網段sql server 2005 連線 sql server 2000的問題SQLServer
- SQL Server資料庫中的資料型別隱式轉換問題SQLServer資料庫資料型別
- 深入探索MS SQL Server 2000網路連線的安全問題 (轉)SQLServer
- SQL Server database mail問題診斷一例SQLServerDatabaseAI
- SQL Server資料庫恢復常見問題SQLServer資料庫
- sql server datediff函式引發的效能問題SQLServer函式
- SQL Server 值亂碼問題 (多國語言)SQLServer
- SQL Server2000 許可權問題SQLServer
- SQL Server 2005常見問題淺析SQLServer
- SQL Server 自增欄位歸零等問題SQLServer
- 討論java與sql server相容性問題JavaSQLServer