在 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