获取员工的最新详细信息

时间:2018-03-20 07:48:16

标签: oracle11g

我有两张桌子personal_details personal_details 和post_details post_details

第一张表格包含员工的所有个人详细信息,第二张表格包含最新的转帐详细信息

我想加入这两个表,并根据max(from_date)列获取最新的转移详细信息

尝试的查询提供了所有转移详细信息

select pe.emp_id,pe.full_name,po.place,po.from_date from personal_details pe,post_details po
where pe.emp_id=po.emp_id

请帮忙。

1 个答案:

答案 0 :(得分:1)

一个选项使用ROW_NUMBER

SELECT emp_id, full_name, place, from_date
FROM
(
    SELECT pe.emp_id, pe.full_name, po.place, po.from_date,
        ROW_NUMBER() OVER (PARTITION BY pe.emp_id ORDER BY po.from_date DESC) rn
    FROM personal_details pe
    INNER JOIN post_details po
        ON pe.emp_id = po.emp_id
) t
WHERE rn = 1