作者cutekid (可爱小孩子)
看板Database
标题Re: [SQL ] 两张同性质Table找出相同资料较新的一笔
时间Sun Oct 16 15:20:21 2016
select *
from (
select *,row_number()
over (partition by LotID order by LastStepTime desc) as num
from (select * from TableA union all select * from TableB) t1
) t2
where num = 1
※ 引述《s1237890210 (一瞑大一寸)》之铭言:
: 资料库名称:Oracle 11g
: 内容/问题描述:
: Lot在不同厂区作业,希望能列出每一笔Lot的最新一笔停留站点,
: 不一定每笔Lot都会同时存在两张Table内,
: 目前的作法是先Union All後用时间排序,用回圈跑取不重复的资料出来,
: 应该要有办法直接Select出来,请赐教了<(_ _)>
: Table A Table B
: ------------------------------- ------------------------------
: LotID LastStep LastStepTime LotID LastStep LastStepTime
: A Astep3 2016/10/15 B Bstep4 2016/10/14
: B Astep3 2016/10/13 F Bstep3 2016/10/05
: C Astep1 2016/10/14 G Bstep5 2016/10/10
: D Astep2 2016/10/13 A Bstep5 2016/10/11
: ------------------------------- ------------------------------
: 希望得到的查询结果:
: LotID LastStep LastStepTime
: -------------------------------
: A Astep3 2016/10/15
: B Bstep4 2016/10/14
: C Astep1 2016/10/14
: D Astep2 2016/10/13
: F Bstep3 2016/10/05
: G Bstep5 2016/10/10
: -------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.221.80.36
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1476602424.A.AF6.html