sqlserver选课人数统计

数据库sqlserver2008 前台可以选课 选的个数不确定 最多选5个 课程有10个 提交后我要在数据库里对课程表里的人数加一 这个存储过程怎么写 传进来的参数个数不确定 我要怎么定义变量 比如我有课程1课程2课程3课程4课程5课程6课程7课程8课程9课程10 对应编号1-10 对应起始选课人数都是0 一个人选了课程1,2,5 那就对应课程1,2,5人数加一 求给个思路

慕姐8265434
浏览 763回答 2
2回答

明月笑刀无情

CREATE DEFINER=root@localhost&nbsp;PROCEDURE&nbsp;countSoreP()BEGINdeclare less60 smallint default 0; /*x <= 60*/declare b60a70 smallint default 0;declare b70a80 smallint default 0;declare b80a90 smallint default 0;declare more90 smallint default 0;&nbsp;declare countcno char(4) default '****';SELECT&nbsp;cno INTO&nbsp;countcno&nbsp;FROM&nbsp;course WHERE&nbsp;cname&nbsp;=&nbsp;'离散数学';/*确定course表中有离散数学这门课*/ SELECT&nbsp;COUNT(*) INTO&nbsp;less60&nbsp;FROM&nbsp;sc WHERE&nbsp;cno&nbsp;=&nbsp;'8'&nbsp;AND&nbsp;grade&nbsp;<&nbsp;60; SELECT&nbsp;COUNT(*) INTO&nbsp;b60a70&nbsp;FROM&nbsp;sc WHERE&nbsp;cno&nbsp;=&nbsp;'8'&nbsp;AND&nbsp;grade&nbsp;>=&nbsp;60&nbsp;AND&nbsp;grade&nbsp;<&nbsp;70; SELECT&nbsp;COUNT(*) INTO&nbsp;b70a80&nbsp;FROM&nbsp;sc WHERE&nbsp;cno&nbsp;=&nbsp;'8'&nbsp;AND&nbsp;grade&nbsp;>=&nbsp;70&nbsp;AND&nbsp;grade&nbsp;<&nbsp;80; SELECT&nbsp;COUNT(*) INTO&nbsp;b80a90&nbsp;FROM&nbsp;sc WHERE&nbsp;cno&nbsp;=&nbsp;'8'&nbsp;AND&nbsp;grade&nbsp;>=&nbsp;80&nbsp;AND&nbsp;grade&nbsp;<&nbsp;90; SELECT&nbsp;COUNT(*)INTO&nbsp;more90&nbsp;FROM&nbsp;sc WHERE&nbsp;cno&nbsp;=&nbsp;'8'&nbsp;AND&nbsp;grade&nbsp;>=&nbsp;90; create&nbsp;table&nbsp;countScore(&nbsp;scorestage&nbsp;char(10),&nbsp;number&nbsp;smallint); insert&nbsp;into&nbsp;countscore&nbsp;values('x<60',&nbsp;less60); insert&nbsp;into&nbsp;countscore&nbsp;values('60<=x<70',&nbsp;b60a70); insert&nbsp;into&nbsp;countscore&nbsp;values('70<=x<80',&nbsp;b70a80); insert&nbsp;into&nbsp;countscore&nbsp;values('80<=x<90',&nbsp;b80a90); insert&nbsp;into&nbsp;countscore&nbsp;values('x>=90',&nbsp;more90);END

皈依舞

数据库是sqlserver,那假设变成语言是C#好了。数据库这里假设有2张表:Student(学生)和Course(课程),Course表中设置Student为外键,比如学生A选择课程1,那么Course表下就产生一条数据记录(学生A, ‘课程1’);同理学生BCDEF选择课程12345,那么对应Course表下就产生这么几条记录:(学生B,‘课程2’),(学生C,‘课程3’),(学生D,‘课程3’),(学生E,‘课程4’),(学生F,‘课程5’),最后做统计处理,统计每个CourseName(课程名)被选择的次数,即Select sum(*) from Course where CourseName=''课程x‘’。Course|- Student|- CourseName前端选课的时候,需要根据学生的Id,先得到学生已经选择哪些课程,再决定学生还能选择哪些,以及还能选择多少就好了。
打开App,查看更多内容
随时随地看视频慕课网APP