create view rsc (sno,cno,grade,cname,cpno,ccredit) as select sno,course.cno,f1(grade),cname,cpno,ccredit from sc left join course on sc.cno = course.cno;
create view ss (cno,cname,num) as select cno,cname,count(cname) from rsc group by cname order by cno;
create view aa (cname,A) as select cname,count(grade) from rsc where grade = '优'group by cname order by cno;
create view bb (cname,B) as select cname,count(grade) from rsc where grade = '良'group by cname order by cno;
create view cc (cname,C) as select cname,count(grade) from rsc where grade = '中'group by cname order by cno;
create view dd (cname,D) as select cname,count(grade) from rsc where grade = '及格'group by cname order by cno;
create view ff (cname,F) as select cname,count(grade) from rsc where grade = '不及格'group by cname order by cno;
select cno,ss.cname,num,A,B,C,D,F from ss left join aa on ss.cname = aa.cname left join bb on ss.cname = bb.cname left join cc on ss.cname = cc.cname left join dd on ss.cname = dd.cname left join ff on ss.cname = ff.cname;这是我写的代码,查询结果和老师的要求是一样的,但是老师要求要用存储过程写,我不会,请问各位大侠如何讲这些代码嵌套一起或者写个存储过程在线急等!
create view ss (cno,cname,num) as select cno,cname,count(cname) from rsc group by cname order by cno;
create view aa (cname,A) as select cname,count(grade) from rsc where grade = '优'group by cname order by cno;
create view bb (cname,B) as select cname,count(grade) from rsc where grade = '良'group by cname order by cno;
create view cc (cname,C) as select cname,count(grade) from rsc where grade = '中'group by cname order by cno;
create view dd (cname,D) as select cname,count(grade) from rsc where grade = '及格'group by cname order by cno;
create view ff (cname,F) as select cname,count(grade) from rsc where grade = '不及格'group by cname order by cno;
select cno,ss.cname,num,A,B,C,D,F from ss left join aa on ss.cname = aa.cname left join bb on ss.cname = bb.cname left join cc on ss.cname = cc.cname left join dd on ss.cname = dd.cname left join ff on ss.cname = ff.cname;这是我写的代码,查询结果和老师的要求是一样的,但是老师要求要用存储过程写,我不会,请问各位大侠如何讲这些代码嵌套一起或者写个存储过程在线急等!
解决方案 »
- SQL查询语句中如何查询出的一些数据进行简单的加减操作
- 有什么函数能够获取数据库里的时间?
- 一个表最多可建立多少索引(mysql)
- C中mysql_query(INSERT INTO table() values(ch,……)
- 如何写在字段批量更新记录的语句
- 请教:mysql中如何取得记录中,最早的日期,那条
- 怎样将远程mysql导到本机mysql?
- 全部家产,只求三问,百度google都没结果,不想明白也没心情工作
- mysql创建索引的时候支持字段的desc排序方式吗?
- mysql多表关联更新问题
- 求助~怎么找到所有空值中的第一个?
- 急~~~~求一MYSQL字段内容替换语句~~~在线等候~~~
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
'截至2010-11-07 20:09:36 用户结帖率0.00%当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
begin
select * from tb where id=a
endcall sp_test(1)
create procedure CreatView()
begin
create view rsc (sno,cno,grade,cname,cpno,ccredit) as select sno,course.cno,f1(grade),cname,cpno,ccredit from sc left join course on sc.cno = course.cno;
create view ss (cno,cname,num) as select cno,cname,count(cname) from rsc group by cname order by cno;
create view aa (cname,A) as select cname,count(grade) from rsc where grade = '优'group by cname order by cno;
create view bb (cname,B) as select cname,count(grade) from rsc where grade = '良'group by cname order by cno;
create view cc (cname,C) as select cname,count(grade) from rsc where grade = '中'group by cname order by cno;
create view dd (cname,D) as select cname,count(grade) from rsc where grade = '及格'group by cname order by cno;
create view ff (cname,F) as select cname,count(grade) from rsc where grade = '不及格'group by cname order by cno;
select cno,ss.cname,num,A,B,C,D,F from ss left join aa on ss.cname = aa.cname left join bb on ss.cname = bb.cname left join cc on ss.cname = cc.cname left join dd on ss.cname = dd.cname left join ff on ss.cname = ff.cname;
end;调用方法:
call CreatView();