/*
INSERT INTO TC79(PatientID,AdmissionDate,DischargeDate,Cost)
SELECT * FROM (
SELECT 709,TO_DATE('2011-07-27','YYYY-MM-DD'),TO_DATE('2011-07-31','YYYY-MM-DD'),450  FROM DUAL
UNION ALL
SELECT 709,TO_DATE('2011-08-01','YYYY-MM-DD'),TO_DATE('2011-08-23','YYYY-MM-DD'),2070 FROM DUAL UNION ALL
SELECT 709,TO_DATE('2011-08-31','YYYY-MM-DD'),TO_DATE('2011-08-31','YYYY-MM-DD'),90 FROM DUAL UNION ALL
SELECT 709,TO_DATE('2011-09-01','YYYY-MM-DD'),TO_DATE('2011-09-14','YYYY-MM-DD'),1260 FROM DUAL UNION ALL
SELECT 709,TO_DATE('2011-12-01','YYYY-MM-DD'),TO_DATE('2011-12-31','YYYY-MM-DD'),2790 FROM DUAL UNION ALL
SELECT 1624,TO_DATE('2011-06-07','YYYY-MM-DD'),TO_DATE('2011-06-28','YYYY-MM-DD'),1980 FROM DUAL UNION ALL
SELECT 1624,TO_DATE('2011-06-29','YYYY-MM-DD'),TO_DATE('2011-07-31','YYYY-MM-DD'),2970 FROM DUAL UNION ALL
SELECT 1624,TO_DATE('2011-08-01','YYYY-MM-DD'),TO_DATE('2011-08-02','YYYY-MM-DD'),180 FROM DUAL
)
*/
WITH CTE AS(
SELECT T.*, LEAD(ADMISSIONDATE,1) OVER(PARTITION BY PATIENTID ORDER BY ADMISSIONDATE) AS NEXTADMISSIONDATE,
CASE WHEN LEAD(ADMISSIONDATE,1) OVER(PARTITION BY PATIENTID ORDER BY ADMISSIONDATE)=T.DISCHARGEDATE+1 THEN   1
ELSE   0 END AS ISCONT
FROM TC79 T)
SELECT A.*
, CASE WHEN A.ISCONT =1 THEN
( SELECT MIN(DISCHARGEDATE) FROM CTE B WHERE B.ADMISSIONDATE>A.ADMISSIONDATE AND A.ISCONT<>B.ISCONT  AND A.PATIENTID=B.PATIENTID)
ELSE A.DISCHARGEDATE END AS DISCHARGEDATE
FROM  CTE A

TC79的更多相关文章

  1. win7 64位 TortoiseSVN-1.8.4客户端安装

    下载地址链接:http://pan.baidu.com/s/1nukeBVz 密码:tc79 (32 64位都有,注意区分) next一路安装 安装好后,在需要和服务器同步的文件夹图标上--鼠标右键- ...

随机推荐

  1. JdbcTemplate使用总结

    Spring JdbcTemplate 在数据库的操作中,每个业务方法都要得到连接,开启事务,提交事务,回滚,关闭连接等,我们可以把这些做成一个模版,这样,在业务代码中只需要关注业务逻辑即可. MyJ ...

  2. c# tcp备忘及networkstream.length此流不支持查找解决

    服务端 bool isRunning = true;  MouseKeyBoard mk = new MouseKeyBoard(); void InitTcpServer(int port) { T ...

  3. .NET开发 正则表达式中的 Bug

    又发现了一个 .net 的 bug!最近在使用正则表达式的时候发现:在忽略大小写的时候,匹配值从 0xff 到 0xffff 之间的所有字符,正则表达式竟然也能匹配两个 ASCII 字符:i(code ...

  4. 后缀数组---Milk Patterns

    POJ  3261 Description Farmer John has noticed that the quality of milk given by his cows varies from ...

  5. fibonacci数列从a到b的个数

    Description 我们定义斐波那契数列如下: f1=1 f2=2 f(n)=f(n-1)+f(n-2)(n>=3)   现在,给定两个数a和b,计算有多少个斐波那契数列中的数在a和b之间( ...

  6. Follow me to learn what is repository pattern

    Introduction Creating a generic repository pattern in an mvc application with entity framework is th ...

  7. netty Failed to submit an exceptionCaught() event异常

    最近测试netty开发的服务端应用在关闭时,出现下列异常: ->###WARN#########nioEventLoopGroup-3-2###io.netty.util.internal.lo ...

  8. Java内存泄露的原因

    Java内存泄露的原因 1.静态集合类像HashMap.Vector等的使用最容易出现内存泄露,这些静态变量的生命周期和应用程序一致,所有的对象Object也不能被释放,因为他们也将一直被Vector ...

  9. C++ 面向对象的三个特点--继承与封装(一)

    面试的时候经常会有很多概念性的东西,许久不用都会很生疏,特意整理一下方便自己以后不记得了可以查看一下,也顺便帮助自己复习一下. 概念 继承是面向对象程序设计的一个重要特性,它允许在既有类的基础上创建新 ...

  10. 文科生也能看懂的iptables教程(转载)

    据说还是个MM, 写得很通俗易懂, 还很诙谐, 原文:http://dallascao.com/cn/iptables-tutorial-for-newbies/ 对于斗胆开始玩vps的文科生来讲,i ...