作者aleck945 (总是不知所措)
看板Database
标题Re: [SQL ] oracle找下一笔资料的栏位当作自己的栏位
时间Thu Dec 25 17:12:38 2008
※ 引述《wuwangzu (lina)》之铭言:
: ※ 引述《wuwangzu (lina)》之铭言:
: : 标题可能有点难懂
: : 请各位高手看一下我详细说明好了
: : TABLE里面有一个栏位
: : START_TIME
: : 我想要照时间顺序排下来
: : 自己创一个显室栏位名字叫END_TIME
: : 然後前一笔资料的END_TIME是後面一笔资料的START_TIME
: : 有学长跟我说要用ROWNUM
: : 可是怎麽写都有错误..
: : 有高手可以好心帮我解惑吗
: : 谢谢!!!
: 这是我写的
: SELECT A.EQPID, A.CHANGE_TIME,
: (SELECT MIN(B.CHANGE_TIME)
: FROM APS_BP_MATERIAL_CHANGE AS B
: WHERE (B.EQPID = 'BLAM01')
: AND A.CHANGE_TIME<B.CHANGE_TIME) AS END_TIME
: FROM APS_BP_MATERIAL_CHANGE AS A
: WHERE (A.EQPID = 'BLAM01')
: ORDER BY A.CHANGE_TIME
: 错误是"遗漏右括弧"
提供另一方式供参考:
SELECT EQPID
, CHANGE_TIME
, LEAD(CHANGE_TIME)OVER(ORDER BY CHANGE_TIME) END_TIME
FROM APS_BP_MATERIAL_CHANGE
WHERE EQPID = 'BLAM01'
ORDER BY CHANGE_TIME
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.190.50