日期:2014-05-17  浏览次数:20615 次

如何把一张表的内容竖着排列??
table1 有字段:姓名,科目,分数 
table2 有字段:name,语文,数学,英语
求将将表1值插入并创建表2的语句
---=---表1------
姓名 科目 分数
张三 语文 99 
张三 英语 97 
张三 数学 98
李四 语文 96
李四 数学 95
李四 英语 94
---=---表2------
name 语文 英语 数学
张三  99   97   98
李四  96   95   94
SQL??mysql?oracle?

------解决方案--------------------

select 姓名,
max(case when 科目='语文' then 分数 else 0 end),语文,
max(case when 科目='数学' then 分数 else 0 end),数学,
max(case when 科目='英语' then 分数 else 0 end),英语
FROM 表1
GROUP BY 姓名