oracle select 多笔数据求日期最大的那笔
oracle有两个表,多笔数据求select日期最大的那笔SQL怎么写?pmm_file表:pmm01采购单pmm22币别pmn_file表:pmn01采购单号pmn04...
oracle 有两个表,多笔数据求select 日期最大的那笔SQL怎么写?
pmm_file表:
pmm01采购单
pmm22币别
pmn_file表:
pmn01采购单号
pmn04料号
pmn31t单价
pmn36日期
需考虑到价格会有不一样的。所以单单max(日期)筛选出来的数据还是会有重复查的、
例如数据如下:
PMN04 PMN36 PMN31T PMM22
----------- ------------ ------ -----
111-111-111 2013-03-02 1.4 RMB
111-111-111 2015-06-24 1.56 RMB
111-111-111 2012-12-28 1.41 RMB
111-111-111 2013-04-13 1.658 RMB
111-111-111 2013-07-03 1.52 RMB
求select出下面这条结果:
PMN04 PMN36 PMN31T PMM22
----------- ------------ ------ -----
111-111-111 2015-06-24 1.56 RMB 展开
pmm_file表:
pmm01采购单
pmm22币别
pmn_file表:
pmn01采购单号
pmn04料号
pmn31t单价
pmn36日期
需考虑到价格会有不一样的。所以单单max(日期)筛选出来的数据还是会有重复查的、
例如数据如下:
PMN04 PMN36 PMN31T PMM22
----------- ------------ ------ -----
111-111-111 2013-03-02 1.4 RMB
111-111-111 2015-06-24 1.56 RMB
111-111-111 2012-12-28 1.41 RMB
111-111-111 2013-04-13 1.658 RMB
111-111-111 2013-07-03 1.52 RMB
求select出下面这条结果:
PMN04 PMN36 PMN31T PMM22
----------- ------------ ------ -----
111-111-111 2015-06-24 1.56 RMB 展开
4个回答
展开全部
select pmn04,pmn36,pmn315,pmm22
from (
select pmn04,pmn36,pmn315,pmm22,
row_number() over(partition by pmn04 order by pmn36 desc) as rn
from pmm_file a,pmn_file b
where a.pmm01=b.pmn01
) t
where rn<=1
from (
select pmn04,pmn36,pmn315,pmm22,
row_number() over(partition by pmn04 order by pmn36 desc) as rn
from pmm_file a,pmn_file b
where a.pmm01=b.pmn01
) t
where rn<=1
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-07-09 · 知道合伙人软件行家
关注
展开全部
select max(pmn36) from pmn_file
更多追问追答
追问
你好,pmn36日期
要求SELECT pmn04,pmn31t,pmm22,pmn36
追答
select max(pmn36) pmn36,pmn04,pmn31t,pmm22 from pmn_file group by pmn04,pmn31t,pmm22
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你都没说清楚,如果日期相同时,单价怎么选,都是2015-06-24,单价一个1.56 一个1.78,取哪个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
恩。。。。日期在哪?
更多追问追答
追问
你好,pmn36日期
求SELECT pmn04,pmn31t,pmm22,pmn36
追答
你只要日期最大的那一笔是吧。用一个max自查询,或者按照时间排倒序,然后取rownum=1就好了,然后再关联不就完成了。
这个不难吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |