22,209
社区成员
发帖
与我相关
我的任务
分享
select * from 住院信息表 as t
where exists(select 1 from 住院信息表 where [医保个人编码]=t.[医保个人编码] and [就诊医疗机构]=t.[就诊医疗机构]
and [住院流水号]<>t.[住院流水号] and DATEDIFF(d,t.[出院日期],[入院日期])<=3)
or exists(select 1 from 住院信息表 where [医保个人编码]=t.[医保个人编码] and [就诊医疗机构]=t.[就诊医疗机构]
and [住院流水号]<>t.[住院流水号] and DATEDIFF(d,[出院日期],t.[入院日期])<=3)
;
WITH tbl
AS ( SELECT ROW_NUMBER() OVER ( PARTITION BY 医保个人编码, 就诊医疗机构 ORDER BY 入院日期 DESC ) AS rn ,
*
FROM 住院信息表
)
SELECT t1.[医保个人编码] ,
t1.[患者姓名] ,
t1.[性别] ,
t1.[临床诊断] ,
t1.[医疗总费用] ,
t1.[就诊医疗机构] ,
t1.[入院日期] ,
t2.[出院日期]
FROM tbl t1
LEFT JOIN tbl t2 ON t1.[医保个人编码] = t2.[医保个人编码]
AND t1.[就诊医疗机构] = t2.[就诊医疗机构]
AND t1.rn > t2.rn
WHERE DATEDIFF(DAY, t2.[出院日期], t1.[入院日期]) < 3
WITH tbl
AS ( SELECT ROW_NUMBER() OVER ( PARTITION BY 医保个人编码, 就诊医疗机构 ORDER BY 入院日期 DESC ) AS tid ,
*
FROM 住院信息表
)
SELECT t1.[医保个人编码] ,
t1.[患者姓名] ,
t1.[性别] ,
t1.[临床诊断] ,
t1.[医疗总费用] ,
t1.[就诊医疗机构] ,
t1.[入院日期] ,
t2.[出院日期]
FROM tbl t1
LEFT JOIN tbl t2 ON t1.[医保个人编码] = t2.[医保个人编码]
AND t1.[就诊医疗机构] = t2.[就诊医疗机构]
AND t1.rn > t2.rn
WHERE DATEDIFF(DAY, t2.[出院日期], t1.[入院日期]) < 3
;with tbl as
(
select ROW_NUMBER() OVER(partition by 医保个人编码, 就诊医疗机构
order by 入院日期 desc) as tid, * from 住院信息表
)
select t1.[医保个人编码], t1.[患者姓名],
t1.[性别], t1.[临床诊断], t1.[医疗总费用],
t1.[就诊医疗机构],
t1.[入院日期], t2.[出院日期]
from
(
select * from tbl where tid = 1
) as t1
left join
(
select * from tbl where tid =2
) as t2
on t1.[医保个人编码] = t2.[医保个人编码]
and t1.[就诊医疗机构] = t2.[就诊医疗机构]
where DATEDIFF(day, t2.[出院日期], t1.[入院日期]) < 3
;with tbl as
(
select ROW_NUMBER() OVER(partition by 医保个人编码, 就诊医疗机构
order by 入院日期 desc) as tid, * from 住院信息表
),
tbl2 as
(
select t1.[医保个人编码], t1.[患者姓名],
t1.[性别], t1.[临床诊断], t1.[医疗总费用],
t1.[就诊医疗机构],
t1.[入院日期], t2.[出院日期]
from
(
select * from tbl where tid = 1
) as t1
left join
(
select * from tbl where tid =2
) as t2
on t1.[医保个人编码] = t2.[医保个人编码]
and t1.[就诊医疗机构] = t2.[就诊医疗机构]
where DATEDIFF(day, t2.[出院日期], t1.[入院日期]) < 3