sql - 查询显示 72 小时内因同一原因出院并重新入境的患者人数

标签 sql sql-server t-sql

在 SQL Server 2005 中,我有一个表存储医院中入院和出院的患者。

表格数据存储为:患者全名、入院日期、出院日期、入院原因。

我需要一个查询来显示出院并在 72 小时内因同一原因重新进入的患者数量。

表结构为:

CREATE TABLE hospital(
     patient   varchar(50),    
     in        datetime, 
     out       datetime, 
     reason_id int
 );

这是查询:

SELECT DISTINCT H1.PATIENT 
FROM HOSPITAL H1 
   INNER JOIN (SELECT * FROM HOSPITAL) H2 ON DATEDIFF(HOUR,H1.IN,H2.OUT) < 72

最佳答案

select distinct h1.patient
from   Hospital h1 join Hospital h2 on h1.patient = h2.patient
where  h1.[in] < h2.[in]
and    h2.[in] < dateadd(hour, 72, h1.[out])
and    h1.reason_id = h2.reason_id

关于sql - 查询显示 72 小时内因同一原因出院并重新入境的患者人数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14693296/

相关文章:

Azure Synapse 无服务器删除由 CREATE EXTERNAL TABLE AS SELECT 语句创建的文件

sql - 如何解释数据库中数字的精度和小数位数?

android - 忽略重音 SQLite3

sql - 如何从 SQL Server 中的字符串中删除最后一个符号。如果它是一个循环

sql-server - 如何使用VBA加速Access和SQL Server之间的表传输?

sql - 如何在 where 子句中获取多个条件

sql - 在 Access SQL 中查询 "workweek"

PHP PDO Mysql 插入失败,不抛出异常或错误

SQL Server 日期时间到 Oracle

c# - SQL Server 在尝试设置 null 时向值 (char) 添加空格