SQL语句问题
那个case和sum 那种方法是怎么用的.谢谢高手指点!
[此贴子已经被作者于2006-3-25 11:59:27编辑过]
我的表
工号 描述
001 电话
001 地址
001 电子邮件
002 电话
002 地址
怎么能转化成
工号 描述
001 电话,地址,电子邮件
002 电话,地址
转化成这样怎么转化,卡酷塔你有没有办法
1. 行列转换--普通
假设有张学生成绩表(CJ)如下
Name Subject Result
张三 语文 80
张三 数学 90
张三 物理 85
李四 语文 85
李四 数学 92
李四 物理 82
想变成
姓名 语文 数学 物理
张三 80 90 85
李四 85 92 82
我想做成这样的效果。不知道怎么弄,谢谢!
select 学生编号 ,sum(语文)语文,sum(数学)数学,sum(英语)英语
form(select 学生编号 ,成绩 语文,0 数学, 0 英语 from 成绩表 where 科目='语文'
union
select 学生编号 ,0 语文,成绩 数学, 0 英语 from 成绩表 where 科目='数学'
union
select 学生编号 ,0 语文,0 数学, 成绩 英语 from 成绩表 where 科目='英语'
group by 学生编号
)
编号改成姓名 方法有点土 经过证明 效率提高了 这个问题我也是刚弄懂