表A(namecode)
医生编号 医生姓名 科室
ZX1001 李红丹 妇科
ZX1002 赵强 内科
ZX1003 王军 皮肤科
: : :
: : :表B(invaliddata)
病人姓名 病症 来院日期 主治医生姓名
马立才 发烧 2006-4-3 赵强
李健 腹痛 2006-4-6 赵强
李建军 牛皮藓 2006-5-7 王军
孙立法 狼疮 2006-5-22 王军
周强 狼疮 2006-4-23 李红丹
董志安 狼疮 2006-6-23 李红丹
: : : :
: : : :
要求给定日期范围,得到每个医生在此日期范围之内治疗的病人数目。如:不限制日期则应该得出如下结果医生编号 主治医生姓名 治疗病人数
ZX1002 赵强 2
ZX1003 王军 2
ZX1001 李红丹 2如果给定的日期范围是2006-05-01 到 2006-05-31则应该得出如下结果医生编号 主治医生姓名 治疗病人数
ZX1003 王军 2
医生编号 医生姓名 科室
ZX1001 李红丹 妇科
ZX1002 赵强 内科
ZX1003 王军 皮肤科
: : :
: : :表B(invaliddata)
病人姓名 病症 来院日期 主治医生姓名
马立才 发烧 2006-4-3 赵强
李健 腹痛 2006-4-6 赵强
李建军 牛皮藓 2006-5-7 王军
孙立法 狼疮 2006-5-22 王军
周强 狼疮 2006-4-23 李红丹
董志安 狼疮 2006-6-23 李红丹
: : : :
: : : :
要求给定日期范围,得到每个医生在此日期范围之内治疗的病人数目。如:不限制日期则应该得出如下结果医生编号 主治医生姓名 治疗病人数
ZX1002 赵强 2
ZX1003 王军 2
ZX1001 李红丹 2如果给定的日期范围是2006-05-01 到 2006-05-31则应该得出如下结果医生编号 主治医生姓名 治疗病人数
ZX1003 王军 2
解决方案 »
- oracle服务启动
- linux c++ 把中文字符串插入数据库表中出现乱码的情况
- 创建了分区表,分区已经建好了,,但是发现建好的表无法在增加分区,怎么回事?
- oracle 中 insert into a select * from b 不想写字段,实现全表复制?
- 有谁也做过通过透明网关建DB Link访问AS/400数据的,遇到问题了帮帮忙
- Oracle Transaction 控制
- 中文分词服务器(C语言开发+词库+源代码),最大特色可以让javascript来调用!当然也可以让其他任何语言来调用
- 怎么才能恢复 Oracle 数据库呢?
- 如何用sqlplus进行本地连接?需要启动监听吗?
- 为什么我的存储过程不能执行?
- 字符串处理问题!!! 着急!!
- oracle里是否有更新某个字段的部分字符串的函数。
where b.主治医生姓名=a.医生姓名 and 来院日期 between 2006-05-01 and 2006-05-31
group by a.医生编号 b.主治医生姓名
就可以
有两个表分别为T1,T2,结构如下
T1
------------
PEID NAME ...T2
------------
PERID PEID SEX ....其中表T2与表T1是多对一的关系,也就是T1中的主键PEID可能在T2中有多记录对应,也可以没有,
现在求一查询语句,查询表T1中所有记录,并且关联得到它在表T2中对应的记录个数,如果为空,
就显示为0select t2.*,decode(t1.dd,null,0,t1.dd) test
from test t2,(select count(d) dd,d from test1 group by d) t1
where t2.a=t1.d(+)
select 医生编号,
医生姓名,
(select count(1) from 表B where 主治医生姓名=g.医生姓名)治疗病人数
from namecode g指定日期:select 医生编号,
医生姓名,
(select count(1) from 表B where 主治医生姓名=g.医生姓名
and 来院日期 between 2006-05-01 and 2006-05-31)治疗病人数
from namecode g