在 Oracle 数据库(我认为是 11G)上进行 SQL 查询时遇到问题。
我需要对两个表进行查询。第一个包含人员的标识符。第二个包含付款(您可以将其视为工资),每条记录都与具有外键的人相关联。
我需要做的是检索已知的人员列表(比如说标识符 1、2、5 和 10),最旧的付款(基于付款日期)。
我首先做的是:
select id_person, MIN(payment_date)
from payment where id_person in (1, 2, 5, 10)
group by id_person;
这检索类似:
1 19940623
2 20100429
5 20100204
10 20100111
现在,我如何为每个人获取与最早付款相对应的“付款”表的完整记录?
我想不出这样做的方法......
答案必须在单个 SQL 查询中(我不能为每个人打电话,这很容易做到......)