У меня есть таблица для системы начисления заработной платы с четырьмя полями и некоторыми примерами данных:
pkref employee_id new_wage effective_date
===== =========== ======== ==============
23 06031-BOB 10 080101
37 06031-BOB 15 090501
90 06031-BOB 13 110228
При изменении заработной платы сотрудника ссылка на первичный ключ автоматически увеличивается, и соответствующая информация записывается (effective_date
- это отметка времени, ггмдд). Там нет проблем.
Теперь я пытаюсь найти запрос для поиска
- Все записи, относящиеся к сотруднику, затем
- Максимальная отметка
effective_date
в этих подпунктах
- Заработная плата, соответствующая этому максимуму.
Я сделал свой самый первый подзапрос (!), Получил его почти правильно, но он глючит. Может ли какой-нибудь гуру взглянуть и толкнуть меня в правильном направлении?
SELECT MAX(effective_date),new_wage FROM (SELECT effective_date,new_wage FROM hr_wages WHERE employee_code='06031-BOB') AS t1
В идеале я хочу, чтобы 110228
и 13
были возвращены. Но, как вышеупомянутый гуру, несомненно, сразу увидит, что-то не так. Значение new_wage
не всегда соответствует максимальному effective_date
.
Итак. Чан делать?