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;这是我写的代码,查询结果和老师的要求是一样的,但是老师要求要用存储过程写,我不会,请问各位大侠如何讲这些代码嵌套一起或者写个存储过程在线急等!

解决方案 »

  1.   

    描述一下你想要实现的功能。 否则别人只能猜。 (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式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)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  2.   

    hujian5240 (hujian5240)
      '截至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#结帖
      

  3.   

    create proc sp_test(a int)
    begin
    select * from tb where id=a
    endcall sp_test(1)
      

  4.   


    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();