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

Я строю запрос в программном обеспечении людей, используя диспетчер запросов Peoplesoft.

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

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


person Ryan    schedule 13.08.2012    source источник
comment
всегда есть select top 1 date from table order by date desc... какие rdbms?   -  person dotjoe    schedule 13.08.2012
comment
PeopleSoft HRMS 8.90, использующая Oracle   -  person Ryan    schedule 13.08.2012
comment
Запустите это и опубликуйте: SELECT * FROM v$version   -  person Roberto Navarro    schedule 14.08.2012
comment
Я не могу запустить SQL, PeopleSoft генерирует его в соответствии с выражениями, критериями, наличием, подсказками и записями, которые вы создаете через PeopleSoft. Я бы хотел, если бы у меня был доступ к разработчику SQL, чтобы изменить код SQL, но, к сожалению, у меня его нет. Функция max работает, когда присутствует одна запись, но когда я присоединяюсь к нескольким записям, она ничего не возвращает в запросе. Не уверен, в чем проблема   -  person Ryan    schedule 14.08.2012


Ответы (4)


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

person Ryan    schedule 14.08.2012

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

person user1658435    schedule 21.09.2012

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

person user1658435    schedule 07.02.2013

PS Query имеет встроенные фильтры для таблиц EFFDT. Когда вы добавляете критерий в поле EFFDT, в поле «тип условия» есть несколько дополнительных раскрывающихся вариантов, таких как «Дата вступления ‹» и «Дата вступления ‹=» и т. д. Обычно, когда вы создаете запрос для эффективного dated, PS Query автоматически добавит подзапрос на основе типа условия 'Eff Date ‹='.

person Donald Shin    schedule 17.01.2019