Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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,如何在24小时的差异中获取数据 选择p.uhid, p、 不,, p、 接收日期 来自adt.p 其中p.status0 p.dateofadmission_Sql_Oracle_Date Arithmetic - Fatal编程技术网

Sql,如何在24小时的差异中获取数据 选择p.uhid, p、 不,, p、 接收日期 来自adt.p 其中p.status0 p.dateofadmission

Sql,如何在24小时的差异中获取数据 选择p.uhid, p、 不,, p、 接收日期 来自adt.p 其中p.status0 p.dateofadmission,sql,oracle,date-arithmetic,Sql,Oracle,Date Arithmetic,我们可以对Oracle日期进行算术运算。所以昨天是sysdate-1 您需要查询该表两次。一次查找患者记录,一次查找以前的匹配项。使用自连接可实现以下目的: SELECT p.uhid, p.inpatientno, p.dateofadmission FROM adt.inpatientmaster p WHERE p.status<>0 AND p.dateofadmission <= p.dateofadmission +1 AND p

我们可以对Oracle日期进行算术运算。所以昨天是sysdate-1

您需要查询该表两次。一次查找患者记录,一次查找以前的匹配项。使用自连接可实现以下目的:

SELECT p.uhid,
       p.inpatientno,
       p.dateofadmission
FROM adt.inpatientmaster p
WHERE p.status<>0
  AND p.dateofadmission <= p.dateofadmission +1
  AND p.uhid='APD1'
选择p1.uhid,
p1.住院编号作为当前的住院编号,
p1.接收日期作为当前接收日期
p2.住院人数与之前的住院人数相同,
p2.离职日期与上次离职日期相同
来自adt.p1
加入adt.p2
在p2.uhid=p1.uhid上
其中p1.uhid='apd1'
和p1.0状态
p2.DateOfAdministration>=p1.DateOfAdministration-1
和p2。不p1.1号
/
您可能还需要限制p2.status 0:不确定您的业务规则是什么


此查询将为每个匹配返回一行。如果在同一个24小时内有多个入院,则结果集的每一个组合将有一行。

请更具描述性,并说明表格名称和属性,以便我们可以帮助您进行查询。您的问题不清楚。请提供样本数据和样本输出:即向我们显示符合您所需的记录不符合的标准和记录。嗯,
p.dateofadmission
Registraionno  inpatientno  dateofadmission
Apd1           xy1           18/01/15
Ap1            ab2            19/01/15
SELECT p.uhid,
       p.inpatientno,
       p.dateofadmission
FROM adt.inpatientmaster p
WHERE p.status<>0
  AND p.dateofadmission <= p.dateofadmission +1
  AND p.uhid='APD1'
select p1.uhid,
       p1.inpatientno as current_inpatientno,
       p1.dateofadmission as current_dateofadmission
       p2.inpatientno as previous_inpatientno,
       p2.dateofadmission as previous_dateofadmission
from adt.inpatientmaster p1 
     join adt.inpatientmaster p2
          on p2.uhid = p1.uhid
where p1.uhid='apd1' 
and p1.status <> 0 
and p2.dateofadmission >= p1.dateofadmission-1
and p2.inpatientno != p1.inpatientno
/