要完成如下统计(oracle)涉及三张表:YYXXB(医院信息表)(yybh 医院编号,yymc 医院名称)
ZHZFB(账户支付表) (sqbh 申请编号,grzhzf 个人账户支付,tczhzf 统筹账户支付,zfyybh 支付医院编号)
ZGRZSQB(职工入转申请表) (sqbh 申请编号, rylb 人员类别)
其中:YYXXB(医院信息表).(yybh医院编号)为主键, 且为ZHZFB(账户支付表)的外键 zfyybh(支付医院编号)
ZGRZSQB(职工入转申请表).sqbh(申请编号)为主键,且为ZHZFB(账户支付表)的外键 sqbh(申请编号)
要求:以医院分组,分别统计出每个医院的各种人员类别(0,在职,1,保健,2,退休)的人数、个人账户支付(合计)、统筹账户支付(合计),
也就是:以医院分组,再以人员类别分组,统计出ZHZFB(账户支付表)的两个字段合计及人次合计
ZHZFB(账户支付表) (sqbh 申请编号,grzhzf 个人账户支付,tczhzf 统筹账户支付,zfyybh 支付医院编号)
ZGRZSQB(职工入转申请表) (sqbh 申请编号, rylb 人员类别)
其中:YYXXB(医院信息表).(yybh医院编号)为主键, 且为ZHZFB(账户支付表)的外键 zfyybh(支付医院编号)
ZGRZSQB(职工入转申请表).sqbh(申请编号)为主键,且为ZHZFB(账户支付表)的外键 sqbh(申请编号)
要求:以医院分组,分别统计出每个医院的各种人员类别(0,在职,1,保健,2,退休)的人数、个人账户支付(合计)、统筹账户支付(合计),
也就是:以医院分组,再以人员类别分组,统计出ZHZFB(账户支付表)的两个字段合计及人次合计
SELECT hos.yymc,
req.rylb,
COUNT (req.sqbh) AS "申请人数",
SUM (pay.grzhzf) AS "个人账户支付",
SUM (pay.tczhzf) AS "统筹账户支付"
FROM yyxxb hos, zhzfb pay, zgrzsqb req
WHERE hos.yybh = pay.zfyybh AND pay.sqbh = req.sqbh
GROUP BY hos.yymc, req.rylb
你要根据实际情况看看要不要用到外连接