设为首页 加入收藏

TOP

温故简单SQL行列转换
2014-11-24 02:54:40 来源: 作者: 【 】 浏览:5
Tags:温故 简单 SQL 行列 转换
温故简单SQL行列转换
Sql代码  
-- 创建表  
CREATE TABLE T_Score(  
    ScoreId INT IDENTITY (1,1) NOT NULL,  
    StuName NVARCHAR(50),  
    Subject NVARCHAR(50),  
    Score   INT  
)  
-- 插入数据  
INSERT INTO T_Score(StuName,Subject,Score)  
SELECT '李四','英语',88 UNION ALL  
SELECT '李四','语文',99 UNION ALL  
SELECT '李四','化学',78 UNION ALL  
SELECT '李四','历史',82 UNION ALL  
SELECT '李四','物理',98 UNION ALL  
SELECT '王五','英语',89 UNION ALL  
SELECT '刘萍','英语',77 UNION ALL  
SELECT '刘萍','语文',68 UNION ALL  
SELECT '王六','英语',81 UNION ALL  
SELECT '马林','英语',84  
  
--行列转换(显示数据)  
DECLARE @SQL VARCHAR(8000)  
SET @SQL='SELECT StuName AS 姓名'  
SELECT @SQL=@SQL+',SUM(CASE Subject WHEN '''+Subject+''' THEN Score ELSE 0 END) ['+Subject+']'  
FROM (SELECT DISTINCT Subject FROM T_Score) AS tt  
SELECT @SQL=@SQL+' FROM T_Score GROUP BY StuName'  
EXEC(@SQL)  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SQL+SERVER+2005%2B+版本行列转换.. 下一篇SQL 2008行列转换的pivot

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Sphinx : 高性能SQL (2025-12-24 10:18:11)
·Pandas 性能优化 - (2025-12-24 10:18:08)
·MySQL 索引 - 菜鸟教 (2025-12-24 10:18:06)
·Shell 基本运算符 - (2025-12-24 09:52:56)
·Shell 函数 | 菜鸟教 (2025-12-24 09:52:54)