Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL将三个查询合并为三列_Sql_Oracle_Multiple Columns - Fatal编程技术网

SQL将三个查询合并为三列

SQL将三个查询合并为三列,sql,oracle,multiple-columns,Sql,Oracle,Multiple Columns,我想将三个查询合并成三列 我正在寻找以下输出: DEPTNAME1---Countdistinct pat_id Q1---Countdistinct pat_id Q2---Countdistinct pat_id Q1/Countdistinct pat_id Q2 DEPTNAME2---Countdistinct pat_id Q1---Countdistinct pat_id Q2---Countdistinct pat_id Q1/Countdistinct pat_id Q2 等

我想将三个查询合并成三列

我正在寻找以下输出:

DEPTNAME1---Countdistinct pat_id Q1---Countdistinct pat_id Q2---Countdistinct pat_id Q1/Countdistinct pat_id Q2

DEPTNAME2---Countdistinct pat_id Q1---Countdistinct pat_id Q2---Countdistinct pat_id Q1/Countdistinct pat_id Q2

我当前的Q1代码:

我当前的Q2代码:

Q3是特定行Q1的输出/特定行Q2的输出:


感谢您的帮助

优雅而完美。谢谢你的帮助!
select DEPARTMENT_NAME, q1, q2, decode(q2, 0, null, q1 / q2) from
(select DEP.DEPARTMENT_NAME, 
count(distinct hsp.pat_id) q1, 
count(distinct case when meas.flo_meas_id in ('00', '7', '8', '9', '0') then hsp.pat_id else NULL end) q2
from pat_enc_hsp hsp 
left outer join clarity_adt adt on hsp.pat_enc_csn_id = adt.pat_enc_csn_id
left outer join clarity_dep dep on ADT.DEPARTMENT_ID = dep.DEPARTMENT_ID
inner join patient pat on hsp.PAT_ID = pat.PAT_ID
left outer join ip_flwsht_rec rec on rec.INPATIENT_DATA_ID = hsp.INPATIENT_DATA_ID
left outer join ip_flwsht_meas meas on rec.FSD_ID = meas.FSD_ID
left outer join ip_flo_gp_data on meas.FLO_MEAS_ID = ip_flo_gp_data.FLO_MEAS_ID
where adt.department_id IN (1,2,3,4,5) 
and (hsp.ed_disposition_c is null or hsp.ed_disposition_c not in ('5','6'))
and hsp.HOSP_ADMSN_TIME between TO_DATE ('08-10-2014 00:00:00', 'DD-MM-YYYY HH24:MI:SS') and TO_DATE ('08-10-2014 23:59:59', 'DD-MM-YYYY HH24:MI:SS')
GROUP BY DEP.DEPARTMENT_NAME);
select DEP.DEPARTMENT_NAME,
count(distinct hsp.pat_id)
from pat_enc_hsp hsp
left outer join clarity_adt adt
on hsp.pat_enc_csn_id = adt.pat_enc_csn_id
left outer join clarity_dep dep
on ADT.DEPARTMENT_ID = dep.DEPARTMENT_ID
inner join patient pat
on hsp.PAT_ID = pat.PAT_ID
left outer join ip_flwsht_rec rec
on rec.INPATIENT_DATA_ID = hsp.INPATIENT_DATA_ID
left outer join ip_flwsht_meas meas
on rec.FSD_ID = meas.FSD_ID
left outer join ip_flo_gp_data
on meas.FLO_MEAS_ID = ip_flo_gp_data.FLO_MEAS_ID
where adt.department_id IN (1,2,3,4,5) 
and (hsp.ed_disposition_c is null or hsp.ed_disposition_c not in ('5','6'))
and hsp.HOSP_ADMSN_TIME between TO_DATE ('08-10-2014 00:00:00', 'DD-MM-YYYY HH24:MI:SS') and TO_DATE ('08-10-2014 23:59:59', 'DD-MM-YYYY HH24:MI:SS')
and meas.flo_meas_id in ('00',
'7',
'8',
'9',
'0')
GROUP BY DEP.DEPARTMENT_NAME
select DEPARTMENT_NAME, q1, q2, decode(q2, 0, null, q1 / q2) from
(select DEP.DEPARTMENT_NAME, 
count(distinct hsp.pat_id) q1, 
count(distinct case when meas.flo_meas_id in ('00', '7', '8', '9', '0') then hsp.pat_id else NULL end) q2
from pat_enc_hsp hsp 
left outer join clarity_adt adt on hsp.pat_enc_csn_id = adt.pat_enc_csn_id
left outer join clarity_dep dep on ADT.DEPARTMENT_ID = dep.DEPARTMENT_ID
inner join patient pat on hsp.PAT_ID = pat.PAT_ID
left outer join ip_flwsht_rec rec on rec.INPATIENT_DATA_ID = hsp.INPATIENT_DATA_ID
left outer join ip_flwsht_meas meas on rec.FSD_ID = meas.FSD_ID
left outer join ip_flo_gp_data on meas.FLO_MEAS_ID = ip_flo_gp_data.FLO_MEAS_ID
where adt.department_id IN (1,2,3,4,5) 
and (hsp.ed_disposition_c is null or hsp.ed_disposition_c not in ('5','6'))
and hsp.HOSP_ADMSN_TIME between TO_DATE ('08-10-2014 00:00:00', 'DD-MM-YYYY HH24:MI:SS') and TO_DATE ('08-10-2014 23:59:59', 'DD-MM-YYYY HH24:MI:SS')
GROUP BY DEP.DEPARTMENT_NAME);