是否可以将这两个记录合并在一起?在WARD_NUMBER
列下面的示例中,患者将留在病房的标识符。
时间表是患者在上午10:10到达病房,并于当天22:48出院。我们在系统中看到的是病房内的病床转移,因为此ISNT是病房转移,因此触发了此问题
我想知道是否可以仅显示一行数据(始终保留第一个WARD_STAY_IDENTIFIER
和START_DATE_TIME_WARD_STAY
,但合并以包含第二个END_DATE_TIME_WARD_STAY
例如
('600054394373', '2018-01-05 10:10:00.000', '2018-01-05 22:48:49.000', '600007275916', '3400003723'),
TIA
DECLARE @CDI_APC_WARD_STAY TABLE (HOSPITAL_PROVIDER_SPELL_NUMBER varchar(50),
START_DATE_TIME_WARD_STAY datetime,
END_DATE_TIME_WARD_STAY datetime,
WARD_STAY_IDENTIFIER varchar(50),
WARD_NUMBER varchar(50)
)
INSERT INTO @CDI_APC_WARD_STAY
VALUES
('600054394373', '2018-01-05 10:10:00.000', '2018-01-05 11:50:00.000', '600007275916', '3400003723'),
('600054394373', '2018-01-05 11:50:00.000', '2018-01-05 11:54:00.000', '600007276481', '3400003723'),
('600054394373', '2018-01-05 11:54:00.000', '2018-01-05 20:22:00.000', '600007276510', '3400003723'),
('600054394373', '2018-01-05 20:22:00.000', '2018-01-05 20:23:00.000', '600007279380', '3400003723'),
('600054394373', '2018-01-05 20:23:00.000', '2018-01-05 22:48:49.000', '600007279385', '3400003723'),
('600054394373', '2018-01-05 22:48:49.000', '2018-01-06 20:24:04.000', '600007279710', '3400003688')
答案 0 :(得分:0)
SELECT
c1.HOSPITAL_PROVIDER_SPELL_NUMBER,
FirstDate = MIN(c1.START_DATE_TIME_WARD_STAY),
LastDate = MAX(c2.END_DATE_TIME_WARD_STAY),
WardStayID = MIN(c1.WARD_STAY_IDENTIFIER),
c1.WARD_NUMBER
FROM
@CDI_APC_WARD_STAY c1
JOIN
@CDI_APC_WARD_STAY c2 ON c2.HOSPITAL_PROVIDER_SPELL_NUMBER = c1.HOSPITAL_PROVIDER_SPELL_NUMBER
AND c2.START_DATE_TIME_WARD_STAY = c1.END_DATE_TIME_WARD_STAY
AND c2.WARD_NUMBER = c1.WARD_NUMBER
GROUP BY
c1.HOSPITAL_PROVIDER_SPELL_NUMBER,
c1.WARD_NUMBER;