作者sabreur (无奈)
看板Database
标题[SQL ] 子查询的问题
时间Tue Dec 23 14:43:36 2014
资料库名称: Oracle
资料库版本: 11gR2
内容/问题描述:
各位高手好
我有一个table有许多栏位
但只会用到 id(PK) 员工编号 状态 重复值 四个栏位去让一个view join
PS:(重复值这个栏位是 该员工重复於该table几次 仅有1笔为 0; 2笔则有 0,1
但现在业务单位只想要看到特定状态下最新的(指 符合状态下 重复值最高的)
查特定员工的SQL 是如下
select * from (
select id,员工编号,重复值,状态码 from table
where 员工编号 = 'xxxxxxx'
and ((重复值 > 0 and 状态码 in(一些状态码)) or 重复值 = '0')
order by 重复值 desc
) where rownum = 1
可是拿掉 员工编号 = 'xxxxx' 要列出每个员工这个情况的资料
我不知道要从何下手..
恳请赐关键字 感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.120.255.187
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Database/M.1419317019.A.EFF.html
※ 编辑: sabreur (59.120.255.187), 12/23/2014 15:26:39
1F:→ sabreur: 嗯... 我用rank() + partition 去解决了 我该自删吗 冏 12/23 15:27
2F:推 gun5566: 不用自删阿,可以留着给後面的人看 12/24 09:26