sql存储过程,查询一个时间段内的挂号人数,金额,按照课科室统计,基本代码怎么写的,初学者不太明白

create procedure usp_gh_rcje
@ksrq ut_rq16,
@jsrq ut_rq8
as
set nocount on select sum(a.xmsl) as 挂号人数 from GH_GHMXK as a,GH_GHZDK as b
where a.xh=b.xh and b.ghrq between '20160701' and '20160720' and b.ksdm='3201'

select sum(a.zje) as 总金额 from SF_BRJSK as a,GH_GHZDK as b
where a.blh = b.blh and b.ghrq between '20160701' and '20160720' and a.ksdm= '3201'

select distinct * from GH_GHZDK as GH_GHK
where ksdm='3201'
这是我写的,但是老师说不对,让我再修改

第1个回答  2016-07-22
--按你的要求要 按照科室 查询一个时间段的挂号人数,你的参数至少要有 开始时间,结束时间,科室 三个参数. 
--而且你的过程中根本没有使用你定义的参数@ksrq 和@jsrq,你只是写出了几条语句而已

第2个回答  2016-07-22
按照科室统计可以用group by分组,你先试试效果看看是不是你要的。
select sum(a.xmsl) as 挂号人数,ksdm as 科室 from GH_GHMXK as a,GH_GHZDK as b
where a.xh=b.xh and b.ghrq between '20160701' and '20160720' group by ksdm
select sum(a.zje) as 总金额,ksdm AS 科室from SF_BRJSK as a,GH_GHZDK as b
where a.blh = b.blh and b.ghrq between '20160701' and '20160720' GROUP BY ksdm本回答被提问者和网友采纳
第3个回答  2016-07-22
是不会写存储过程 还是不会写sql??
第4个回答  2016-07-22
你的表结构贴出来

sql存储过程,查询一个时间段内的挂号人数,金额,按照课科室统计,基本代 ...
--按你的要求要 按照科室 查询一个时间段的挂号人数,你的参数至少要有 开始时间,结束时间,科室 三个参数. --而且你的过程中根本没有使用你定义的参数@ksrq 和@jsrq,你只是写出了几条语句而已

创建一个存储过程,给定某学生学号,要求查询出该学生的姓名,所选课程名...
SELECT @Sname=Sname,@Sno=Student.Sno,@Cno=cno,@grade=grade --select里面写输出参数 FROM Student,SC --从学生表,选修表中查询 where @Sno=Student.Sno--where里面写输入参数 \/*根据给定学号查询*\/ CREATE PROC proc_lab4 --存储过程中含有游标 Sno char(10)as declare @ssno char(10)...

oracle 查询一段时间内每一天的统计数据sql怎么写
4 2016-06-04 1 5 2016-06-04 1 procedure代码如下:create or replace procedure loop_by_date(pbeg_tim in varchar2,--开始日期 pend_tim in varchar2,--结束日期 errmessage out varchar2) is nCount number(10); --总天数 i_point number(10); --当天 is_zero ...

以下俩个表,设计存储商品销售流水,分别为表头和明细 ,SQL语句
DROP TABLE [sale_h]Create table sale_h(num int,--单据号oper varchar(10),--操作员编号operdate datetime,--日期dept varchar(10)--部门编号)GODROP TABLE [sale_d]Create table sale_d(num int,--单据号itemid int,--明细号goodscode varchar(10),--商品编号amount money,--商品数量pri...

写一个存储过程,学生输入学号和学期,就能查询出这学期的课程,以及成 ...
提示输入一个值来查询;create or replace procedure pro_name (v_id,v_date)--定义变量 as begin --执行部分 select 课程,成绩 into v_id from emp where 学号=&aa and 学期=&bb;--在控制台显示 dbms_output.put_line('学号是:'||v_id||'学期是:'||v_date);--异常处理 exception wh...

sql server 2008,如何查看存储过程里面的内容?
1 打开Microsoft SQL Server数据库管理工具,选择SQL Server身份验证,输入登录名和用户密码,点击连接按钮。2 选择要查看的数据库,展开所有选项。3 在展开的所有列表中,选择‘可编程性’文件夹,并将其展开。4 在‘可编程性’文件夹里,选择‘存储过程’并单击其前面的‘+’号,让其展开。下拉列表...

数据库SQL语言
说明:每个学生每门科目存放一个记录,科目有“语文”、“数学”、“外语”三门。1 找出每个班级的班级代码、学生人数、平均成绩。Select BJDM,count(*) ,avg(CJ) from SC group by BJDM2 找出每个学生的班级代码、学生姓名、考试科目数、总成绩。Select BJDM,XSXM,count(*) , sum(CJ) from SCGroup by ...

...结果数据合并更新到B表的一个字段数据里,存储过程如何写?
--假设B表只有2个字段(姓名,信息汇总),且姓名是关联条件 --合并更新表B merge into 表B b --使用表A using 表A a --通过[姓名]关联匹配 on (a.姓名 = b.姓名)--能匹配到的 when matched then update set 信息汇总 = a.省份||a.城市||a.县区||a.详细地址||','||a.手机||'-...

SQL的存储过程中,怎么同时取两个查询条件不同的数值,
第一个语句就错了select @pp=sum(money) from A wnere (时间条件) 查出的是所有部门的总额 其实两个语句可以合在一起写,如下:select depname,@pp=sum(money) from A where (时间条件) group by depname

建立一个存储过程student_info,要求根据班级查询学生的学号、姓名、课程...
建立一个存储过程student_info,要求根据班级查询学生的学号、姓名、课程号和分数(表结构如表2,表3) 表2 student字段名 类型 长度 说明学号 字符 9 学号姓名 字符 8 姓名姓名 字符 2 性别班级 字符 4 系别出生日期 日期 8 出生日期表3 成绩表字段名 类型 长度 说明学号 字符 9 课程号 字符 4 成绩 整型 ...

相似回答