2012-08-13 1 views
1

Я создаю запрос для людей с помощью менеджера запросов Peoplesoft.Выбор самой последней даты из таблицы в PeopleSoft с помощью Peoplesoft Query (Max() не работает)

Я пытаюсь вытащить самую последнюю дату из столбца даты. Я попытался использовать max() в качестве выражения, однако запрос не выводит никаких записей. Я проверил с другим сотрудником, и они никогда не могли извлекать записи, используя max().

Есть ли другой способ или обходной путь, чтобы вытащить самую последнюю запись?

+0

всегда есть 'select top 1 date from table order by date desc' ... which rdbms? – dotjoe

+0

PeopleSoft HRMS 8.90, который использует Oracle – Ryan

+0

Запустите это и опубликуйте: SELECT * FROM v $ version –

ответ

0

Итак, я понял, почему не было получено никаких результатов при использовании Max в подзапросе. Это было больше из-за непонимания PeopleSoft и SQL, поскольку я относительно новичок. Когда я устанавливал столбец даты в подзапросе как max для агрегата, который должен использоваться в качестве критериев для сравнения с столбцом даты в основном запросе, я не делал никаких критериев в подзапросе. Это означало, что подзапрос будет проходить через все даты для всех сотрудников, за исключением сотрудника, который я указывал в подсказке, и возвращал значение, которое не соответствовало датам для сотрудника в основном запросе и никому не возвращало. Это было исправлено установкой критериев в подзапросе, что идентификатор сотрудника, который должен был быть найден в подзапросе, соответствовал тому, который был введен в приглашение в основном запросе

0

Используйте дату вступления в силу для выполнения таких запросов при использовании PSQuery.

0

Используйте эффективную дату, чтобы получить самую последнюю дату, max может не работать должным образом в PeopleSoft. Запрос должен быть в силе от