【发布时间】:2021-01-30 17:58:34
【问题描述】:
我有一个问题。我有一个查询,可以找出当天的患者人数
Select wtt1.wrt_ip_num, wtt1.wrt_from_ward_cd, wbm.wbm_room_num, wbm.wbm_bed_num, wtt1.wrt_in_dt, wtt1.wrt_out_dt
FROM W_TRANSFER_TXN wtt1, w_ward_master_base wmb, w_bed_master_base wbm
where wtt1.wrt_from_ward_cd=wmb.wwm_ward_cd and wmb.wwm_ward_locn='TMH'
and wbm.wbm_bed_num=wtt1.wrt_from_bed_num and wbm.wbm_room_num=wtt1.wrt_from_room_num and wbm.wbm_ward_cd=wtt1.wrt_from_ward_cd
and (wtt1.wrt_ip_num, wtt1.wrt_sl_num ) in
(Select wtt.wrt_ip_num, max(wtt.wrt_sl_num) wrt_sl_num
FROM W_TRANSFER_TXN wtt
where /*wtt.wrt_ip_num='IP/20/034619' and*/ trunc(wtt.wrt_in_dt)<=TO_DATE('29-Sep-2020','DD-MON-YYYY')
and (wtt.wrt_out_dt is null or trunc(wtt.wrt_out_dt)>=TO_DATE('29-Sep-2020','DD-MON-YYYY'))
group by wtt.wrt_ip_num);
目前它取出日期 29th 的 ip 号。它给出了没有。该特定日期的 IP 号码。 我想要做的是将整个查询放在一个循环中,它会找出前 15 天的查询。那可能吗 。整个查询可以循环过去 15 天吗? 我们可以在日期字段所在的地方循环吗? 我可以通过更改日期来取出每天的患者数量,但我可以找出 15 天吗?
【问题讨论】:
-
这是我们可以在日期所在的循环中输入的查询吗?
-
为什么要使用循环并发送 15 个查询而不是一个查询来获取整个 15 天的所有数据?此外,您是否能够“整理”您的查询,使其更具可读性并且没有过时的信息(对我们而言)?我会使用
trunc(wtt.wrt_in_dt) between to_date('29.....') and to_date('14.....')。 -
整个查询是为了给 1 个日期的值而开发的,可以把整个查询放在一个循环中吗?
-
入住日期和离开日期是针对当天入住和离开的患者
-
where trunc(wtt.wrt_in_dt) between TO_DATE('29-Sep-2020','DD-MON-YYYY')-15 and TO_DATE('29-Sep-2020','DD-MON-YYYY') and (wtt.wrt_out_dt is null or trunc(wtt.wrt_out_dt)>=trunc(wtt.wrt_in_dt))?
标签: sql oracle oracle11g oracle-sqldeveloper