select name,
sum(decode(courses,'X1',result)) X1,
sum(decode(courses,'X2',result)) X2,
sum(decode(courses,'X3',result)) X3,
sum(decode(courses,'X4',result)) X4
from TableName
group by name;
sum(decode(courses,'X1',result)) X1,
sum(decode(courses,'X2',result)) X2,
sum(decode(courses,'X3',result)) X3,
sum(decode(courses,'X4',result)) X4
from TableName
group by name;
解决方案 »
- 如何生成sqlserver2005库中已有表的关系图
- 如何对数据分组排序
- EXCEL多表导入和SQL中多表查询的问题
- 求 sql 语句
- 如何利用触发器动态创建表
- 关于固定资产按月折旧的问题
- 能不能帮忙写条SQL语句?
- 如何用SQL语句删除一个表中指定的字段(其中字段定义如下 default 1)
- √当我在sql server 2000中更新记录时,系统报错:键列信息不足或不正确。更新影响到过多的行。请问这是为什么?
- 在t-sql下怎么自建文件夹?
- asp如何连接本地 sql server 数据库??(确实急的问题)
- 为什么会在使用中显示 " sql server timeout expired " , 请大哥们帮帮忙
from tab_name a,tab_name b,tab_name c,tab_name d,tab_name e
where a.name = b.name and a.subject = b.subject and
a.name = c.name and a.subject = c.subject and
a.name = d.name and a.subject = d.subject and
a.name = e.name and a.subject = e.subject; 还是竹子的方法好
)
SELECT NAME ,SCORE X1,0 X2,0 X3,0 X4 FROM MYTABLE WHERE COURCE='X1'
UNION ALL
SELECT NAME ,0 X1,SCORE X2,0 X3,0 X4 FROM MYTABLE WHERE COURCE='X2'
UNION ALL
SELECT NAME ,0 X1,0 X2,SCORE X3,0 X4 FROM MYTABLE WHERE COURCE='X3'
UNION ALL
SELECT NAME ,0 X1,0 X2,0 X3,SCORE X4 FROM MYTABLE WHERE COURCE='X4'
) GROUP BY NAME;
谢谢各位!
我用while,可以程序控制,但速度很慢!!!
表结构如此(这只是一个简单例子),主要是为了系统改变和维护!
SELECT * FROM tablename
ORDER BY 姓名,课程
然后在结果集里顺序取出数据,用程序控制填写即可.
while not rs.EOF
placeData
rs.MoveNext
wend