部门表 部门ID deparet_id
部门名称 name
部门人员中间表 部门人员中间表ID pd_id
部门表ID deparet_id
人员表ID police_id人员表人员表ID police_id
姓名 name人员请假表人员请假表ID pq_id
人员表ID police_id
部门表ID deparet_id
需求:
每个部门有多少人,有多少人请假.不管写存储过程,还是SQL句语都可以谢谢
部门名称 name
部门人员中间表 部门人员中间表ID pd_id
部门表ID deparet_id
人员表ID police_id人员表人员表ID police_id
姓名 name人员请假表人员请假表ID pq_id
人员表ID police_id
部门表ID deparet_id
需求:
每个部门有多少人,有多少人请假.不管写存储过程,还是SQL句语都可以谢谢
解决方案 »
- 大数据虑重遇到的一些问题,请赐教。
- pl/sql 关于层次树的部分语句不太懂
- 简单的数据查询的问题
- 我用bat 调用oracle sql语句,如果sql语句中有注释,就无法正常执行,为什么?谢谢
- 怎样新建一个具有sysdba身份的用户?
- 在线等待 请问 在9i中 数据库的实例名就是sid名吗? 数据库名和服务名也是同一个名字吗?
- oracle90数据库需要硬件的最底配置是什么啊?为什么总会出现问题,求助!!
- ??????????????
- 想在linux下的oracle数据库上开发程序,请问大侠。。。多谢!!!!
- 急,小弟求助项目中一个问题:Oracle怎么自动把某一dbf文件中数据导入?(见内)
- oracle 数据库查找前几条数据
- 非预定义异常的一个问题
from 部门人员中间表
group by deparet_id;select deparet_id, count(deparet_id)
from 人员请假表
group by deparet_id;
select 1 from 人员请假表 where deparet_id=t.deparet_id) then 1 end)"请假人数",
count(1)"总人数"
from 部门表 t
group by deparet_id,name
select a.name,count(case when exists(
select 1 from 人员请假表 where police_id=b.police_id) then 1 end)"请假人数",
count(1)"总人数"
from 部门表 a,部门人员中间表 b
where a.deparet_id=b.deparet_id
group by a.deparet_id,a.name
(select count(st1.deparet_id) from 部门人员中间表 st1 where st1.deparet_id = mt.deparet_id) as "每个部门有多少人",
(select count(st2.deparet_id) from 人员请假表 st2 where st2.deparet_id = mt.deparet_id) as "每个部门有多少人请假"
from 部门表 mt;